Skip to main content
The LangSmith CLI is a fast, agent-friendly command-line tool for working with your LangSmith data and workflows directly from the terminal. It’s designed for both humans and AI coding agents to list, filter, retrieve, and export data — with predictable JSON output by default and a pretty table mode for humans.
Built for agents and scripts: defaults to JSON, supports clean stdout/stderr separation, and offers --yes flags for non-interactive use.

Installation

Use one of the follow methods for installation:
curl -sSL https://raw.githubusercontent.com/langchain-ai/langsmith-cli/main/scripts/install.sh | sh

Authentication

Set your API key as an environment variable:
export LANGSMITH_API_KEY="lsv2_..."
Optional defaults:
export LANGSMITH_ENDPOINT="https://api.smith.langchain.com"  # self-hosted/hybrid
export LANGSMITH_PROJECT="my-default-project"                 # default project for queries
Or pass them as flags when running commands:
langsmith --api-key lsv2_... trace list --project my-app

Quickstart

The following commands cover the core resource types — projects, traces, runs, datasets, experiments, and threads:
# List tracing projects (sessions)
langsmith project list

# List recent traces in a project
langsmith trace list --project my-app --limit 5

# Get a specific trace with full detail
langsmith trace get <trace-id> --project my-app --full

# List LLM runs with token counts
langsmith run list --project my-app --run-type llm --include-metadata

# Datasets and experiments
langsmith dataset list
langsmith experiment list --dataset my-eval-set

# Conversation threads in a project
langsmith thread list --project my-chatbot

Output formats

  • Default: JSON to stdout for easy piping and scripting
  • Pretty tables: --format pretty for human-readable tables and trees
  • Write to file: -o <path>
langsmith trace list --project my-app                  # JSON array to stdout
langsmith --format pretty trace list --project my-app  # tables/trees
langsmith trace list --project my-app -o traces.json   # write JSON to file

Commands overview

The CLI groups functionality by resource. Each command supports filters like --limit, --last-n-minutes, and more.

project — list tracing projects

langsmith project list                    # default limit: 20
langsmith project list --name-contains chatbot
langsmith --format pretty project list

trace — query and export traces

langsmith trace list --project my-app --limit 50 --last-n-minutes 60
langsmith trace list --project my-app --error --include-metadata
langsmith trace get <trace-id> --project my-app --full
langsmith trace export ./traces --project my-app --limit 20 --full

run — query individual runs

langsmith run list --project my-app --run-type llm
langsmith run list --project my-app --run-type tool --name search
langsmith run get <run-id> --full
langsmith run export llm_calls.jsonl --project my-app --run-type llm --full

thread — query conversation threads

langsmith thread list --project my-chatbot --last-n-minutes 120
langsmith thread get <thread-id> --project my-chatbot --full

dataset — manage evaluation datasets

langsmith dataset list --name-contains eval
langsmith dataset get my-dataset
langsmith dataset create --name my-eval-set --description "QA pairs for v2"
langsmith dataset export my-dataset ./data.json --limit 500

evaluator — manage evaluators

langsmith evaluator list
langsmith evaluator upload evals.py --name accuracy --function check_accuracy --dataset my-eval-set
langsmith evaluator delete accuracy --yes

experiment — results and summaries

langsmith experiment list --dataset my-eval-set
langsmith experiment get my-experiment-2024-01-15