Codesession
codesession (codesession-cli, code session, code-session) — Track AI agent session costs, tokens, file changes, and git commits. Works with Claude Code, Open...
codesession (codesession-cli, code session, code-session) — Track AI agent session costs, tokens, file changes, and git commits. Works with Claude Code, Open...
Real data. Real impact.
Emerging
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
Track agent session costs, file changes, and git commits. Enforces budget limits and provides detailed session analytics with a full web dashboard.
Latest: v2.5.1 -
cs run <command> wraps everything in one step (session + proxy + run + cost summary). cs today for multi-project context. Dashboard Help tab, Codex pricing, security fixes.
📦 npm • ⭐ GitHub • 📝 Changelog
# 1. Install the CLI globally from npm npm install -g codesession-cli2. Install the OpenClaw skill
clawhub install codesession
After installing, the
cs command is available globally. The OpenClaw agent will automatically use it to track sessions.
Requirements: Node.js 18+ and C/C++ build tools (needed to compile the embedded SQLite module).
OS Install build tools Ubuntu/Debian sudo apt-get install -y build-essential python3macOS xcode-select --installWindows or install Visual Studio Build Toolsnpm install -g windows-build-toolsAlpine apk add build-base python3Data is stored locally at
.~/.codesession/sessions.db
cs dashboard to review session data in a browser# Agent mode (always use --json for structured output): cs start "task description" --json --close-staleResume if a session was left open (e.g. after a crash):
cs start "task description" --json --resume
Human/interactive mode (stays running with live file watcher):
cs start "task description"
Agent mode vs interactive mode: With
, the session is created in the database, JSON is printed, and the process exits immediately -- the session stays "active" and tracks git changes when you run--json. Withoutcs end, the process stays running with a live file watcher and git commit poller until you press Ctrl+C or run--jsonin another terminal.cs end
# With granular tokens (cost auto-calculated from built-in pricing): cs log-ai -p anthropic -m claude-sonnet-4 --prompt-tokens 8000 --completion-tokens 2000 --jsonWith agent name tracking (NEW in v1.9.1):
cs log-ai -p anthropic -m claude-sonnet-4 --prompt-tokens 8000 --completion-tokens 2000 --agent "Code Review Bot" --json
With manual cost:
cs log-ai -p anthropic -m claude-opus-4-6 -t 15000 -c 0.30 --json
With all fields:
cs log-ai -p openai -m gpt-4o --prompt-tokens 5000 --completion-tokens 1500 -c 0.04 --agent "Research Agent" --json
Providers:
anthropic, openai, google, mistral, deepseek
Cost is auto-calculated from a configurable pricing table (21+ built-in models including Codex). Use cs pricing list --json to see known models. If a model is unknown, provide -c <cost> manually.
Agent Name (optional): Use
--agent "Agent Name" to track which agent performed the work. Perfect for multi-agent systems, A/B testing, and cost attribution. Agent names appear in the dashboard and can be used to filter/analyze costs per agent.
cs status --json
Returns JSON with current session cost, tokens, files changed, duration. All JSON responses include
schemaVersion and codesessionVersion fields.
cs end -n "completion notes" --json
When ending, codesession automatically scans git for all files changed and commits made since the session started -- even if
--json mode was used (no live watcher needed).
cs dashboard # Opens http://localhost:3737 with full analytics UIcs dashboard --port 4000 # custom port cs dashboard --no-open # don't auto-open browser
The dashboard shows:
cs show --json --files --commits
cs stats --json
cs export --format json --limit 10 cs export --format csv
cs note "Starting refactor phase" cs note "Tests passing, moving to cleanup"
Timestamped annotations appear in
cs show --json under annotations.
cs recover --max-age 12
Auto-ends any active sessions older than 12 hours.
Agents should always use
--json on every command for structured, parseable output.
cs start "Fix authentication bug" --json --close-stalecs note "analyzing auth flow" --jsoncs log-ai -p anthropic -m claude-sonnet-4 --prompt-tokens 8000 --completion-tokens 2000 --agent "Bug Fixer" --jsoncs status --json -- read aiCost fieldcs end -n "Fixed the auth bug, added tests" --jsoncs dashboardTip: Use the
--agent flag to identify your agent's work, especially useful in multi-agent systems where different agents handle different tasks (e.g., "Code Review Bot", "Test Writer", "Documentation Agent").
Pricing is configurable. Run
cs pricing list to see all known model prices. Override or add models:
# Plain model key cs pricing set my-model 5.00 15.00Provider-namespaced key (avoids collisions)
cs pricing set gpt-4o 2.50 10.00 --provider openai
If the model isn't in the pricing table, you must provide
-c <cost> when logging.
The fastest way to track any agent run:
cs run python my_agent.py # or: cs run --name "fix auth" node agent.js
This starts a session, launches the proxy, runs your command, then ends the session and prints a cost summary. No extra terminals, no env vars to export.
If you prefer manual control, start the proxy in one terminal and set env vars:
cs proxy --session "my task" # auto-starts a session too # then in your agent shell: export ANTHROPIC_BASE_URL=http://127.0.0.1:3739 export OPENAI_BASE_URL=http://127.0.0.1:3739/v1
The proxy binds to
127.0.0.1 only. It never stores prompt text or API keys — only token counts are written to the session.
If the user has set a budget or you detect high spending:
cs status --json before expensive operationsaiCost exceeds $5.00 in a single session--close-stale on cs start to avoid "session_active" errors from prior crashescs is not installed, skip session tracking — don't block the user's task--json on every command — agents must use structured output--json, cs start creates the session and exits (no long-running process needed)--json mode, exit code is always 1 and the response has { "error": { "code": "...", "message": "..." } }schemaVersion in JSON responses to detect breaking changesPeriodically check if the CLI is up to date (e.g. at session start or once per day):
# Compare installed version to latest on npm: cs --version # installed version npm view codesession-cli version # latest on npm
If the installed version is behind, notify the user:
"codesession-cli update available: v1.9.4 -> v2.0.0. Run
to update."npm install -g codesession-cli
Don't block the workflow for an update — just inform and continue.
All commands support
--json for machine-readable output. Use this when you need to parse session data programmatically.No automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.