Prerequisites
- Claude Code installed.
- A LangSmith account.
- Node.js 20 or later on Windows and Linux. On macOS the plugin runs its own build and does not need Node.js.
Install the plugin
Run these commands inside Claude Code:/plugin and open Marketplaces. To install the plugin for everyone, see Deploy to your organization. For more on installing plugins, see Install plugins in the Claude Code docs.
Sign in
Sign in once with the LangSmith CLI. See Install the LangSmith CLI if you do not have it yet.profile in your config file to the one the plugin should use. Your own api_key ignores this setting, but a generic LANGSMITH_API_KEY is not used as a fallback while profile is set.
To use an API key instead, add it to ~/.claude/langsmith.json:
- The plugin’s own key from
api_keyorCC_LANGSMITH_API_KEY. - Your
langsmith auth loginsign-in. - A generic
LANGSMITH_API_KEYfrom your environment.
lsv2_tr_...) to the CLI sign-in since tracing keys can always write traces whatever your role is. If that happens ask your admin to give you a role that can write traces such as Workspace User and check that no ABAC deny policy on the project blocks it.
Tracing stops when your sign-in expires or your key is rejected, and turns from that gap are never uploaded. Claude Code reminds you in the chat until you fix it. Admins can also require a working sign-in for every prompt.
Turn on tracing
Tracing is off until you turn it on in~/.claude/langsmith.json, unless your admin already turned it on with a managed file. In an agent-based workspace, send traces to an agent with agent_id:
project setting instead:
/langsmith-tracing:trace to get a link to the current conversation’s trace.
Deploy to your organization
Admins can install the plugin for everyone and control how it traces from one place.Install for everyone
Use Claude Code’s managed settings to install the plugin on every machine. For the setup, see Manage Claude Code plugins for your organization.Lock settings
An admin can lock tracing settings for every user with a managed file at~/.langsmith-plugins/managed.json in each user’s home folder. The Claude Code, Cursor, and Codex plugins all read this file, and its settings override the user’s own config files and environment variables.
workspace_id as well when your users sign in with the LangSmith CLI. Each user’s sign-in may default to a different workspace, so setting it here keeps everyone’s traces in one place. API keys ignore this setting so use one scoped to a workspace.
The managed file works on macOS and Linux. The plugin only trusts it when:
- Root owns the file and its folder.
- No other user can write to either.
- Neither is a symlink.
agent_id also stops users from sending traces to a project with project.
Admins usually install the file on each machine with a mobile device management (MDM) tool such as Jamf or Microsoft Intune. For every setting you can lock, see the plugin settings guide.
Example setup script
Example setup script
Run this as root for each user, with On Linux, use
USER_HOME set to that user’s home folder:root:root instead of root:wheel. For the full script, see Set it up on macOS.Require a working sign-in
Strict auth blocks every prompt until the user’s sign-in or key works, so no session goes untraced. It is off by default and has no effect while tracing is off. To turn it on for everyone, setstrict_auth to true in the managed file.
Hide a conversation
Run/langsmith-tracing:mute inside Claude Code to keep a conversation’s content out of LangSmith, and /langsmith-tracing:unmute to turn it back on. The confirmation appears as a prompt blocked by a hook, because that is how Claude Code shows a plugin’s reply. To mute every conversation by default, set defaultMuted to true.
Secret redaction
The plugin strips secrets on your machine before anything is uploaded, so they never reach LangSmith or a replica. Redaction is on by default. It catches provider API keys, JSON Web Tokens, and PEM private keys, along with common patterns such asAPI_KEY=<value> or a password in a URL. Each match is replaced with [SECRET_DETECTED]. For the full rule list, see Redact secrets from traces.
Redaction only matches known credential shapes, so treat it as a safety net rather than a guarantee. Run names, tags, and attachments skip it, and a redacted trace still holds your prompts and file contents. Limit who can read the tracing project.
To turn redaction off or add your own patterns, see the plugin settings.
Settings
Each setting has a config file key and an environment variable. The environment variable wins when both are set.
For every setting, see the plugin settings.
Other examples
The plugin’s Advanced configuration guide has worked examples for:- Setting variables in Claude Code’s settings
- Adding custom metadata
- Muting every conversation by default
- Redacting extra patterns
- Sending the same trace to two places
- Tracing a Claude Code run in CI
- Nesting traces under a run you already trace in Python and TypeScript
Troubleshooting
- No traces: Check that the plugin is enabled in
/pluginand that tracing is on. - Tracing is paused: Run
langsmith auth loginagain or replace the rejected API key. - Tracing is paused after a 403: Your sign-in or API key might not have access to the agent, project or workspace. Look through
~/.claude/state/langsmith_engine/worker.logand~/.claude/state/hook.logfor the details. - Still stuck: Set
CC_LANGSMITH_DEBUG=trueand check~/.claude/state/hook.log.
Connect these docs to your agent of choice via MCP for real-time answers.

