Hi all,
I’m trying to enable LangSmith tracing for a small personal LangChain + Claude (Anthropic) project running locally on Windows (Python 3.12, langsmith 0.10.2, langchain-anthropic). Every trace ingestion attempt fails with a 403, even though I’ve verified the setup extensively. Details below.
Setup
- Plan: Developer (free tier), payment card added, spend limit set to $5/month, usage limits configured (not left at defaults)
- Workspace: single workspace (“Workspace 1”), confirmed via Settings > Workspaces
- langsmith package version: 0.10.2 (confirmed this is current via PyPI)
- Environment variables set via .env / python-dotenv: LANGSMITH_TRACING=true, LANGSMITH_API_KEY=…, LANGSMITH_PROJECT=research-agent
Error observed in application
When running my LangChain agent (using ChatAnthropic + llm.invoke()), I get repeated errors like:
Failed to multipart ingest runs: langsmith.utils.LangSmithError: Failed to POST https://api.smith.langchain.com/runs/multipart in LangSmith API. HTTPError(‘403 Client Error: Forbidden for url: https://api.smith.langchain.com/runs/multipart’, ‘{“error”:“Forbidden”}\n’)
The application itself continues to run fine (this is a non-blocking tracing failure), but no trace data is ever ingested.
Diagnostic steps already completed
- Verified the API key has no hidden/invisible characters (checked via repr() in Python) - clean
- Confirmed key format is correct (lsv2_pt_… for Personal keys)
- Tested authentication directly via the Python SDK (langsmith.Client().list_projects()) - fails with: HTTPError(‘403 Client Error: Forbidden for url: https://api.smith.langchain.com/sessions?limit=1&offset=0’, ‘{“detail”:“Forbidden”}’)
- Deleted and regenerated a completely fresh Personal API key - same 403
- Created and tested a Service API key instead of Personal - same 403
- Confirmed workspace scoping is correct (only one workspace exists, key is scoped to it)
- Added a payment card to the account specifically to rule out free-tier trace gating - still 403 afterward
- Confirmed langsmith package (0.10.2) is the current released version - not a stale-client issue
- Bypassed the Python SDK entirely and hit the API directly via curl:
curl -H “x-api-key: [service key]” https://api.smith.langchain.com/api/v1/sessions?limit=1
Result: still {“detail”:“Forbidden”} - Checked the Tracing dashboard directly: the “research-agent” project does exist and is listed, but shows Trace Count: 0 and Error Rate: 0% for the last 7 days - meaning no trace has ever successfully landed, despite the project itself having been created at some point.
What this suggests
Since the project was created successfully at some point, but /sessions and /runs/multipart both consistently return 403 across multiple fresh keys (Personal and Service), across both the SDK and raw curl requests, this looks like either:
- A permissions/scope issue specific to certain endpoints on this account, or
- Some account-level flag/restriction that isn’t visible from the standard Settings pages (billing, workspace, API keys all look correctly configured)
Has anyone run into a 403 specifically on /runs/multipart (or /sessions) that persisted through all of the above? Any pointers on what else to check, or should I escalate this via direct support?
Happy to provide additional diagnostic output if useful. Thanks in advance.