sesh
See what your AI coding sessions actually look like — across all your projects, over time.
pip install agentsesh
Zero dependencies. Python 3.10+. Works with Claude Code and OpenAI Codex CLI.
Your behavioral profile
sesh analyze --profile
Auto-discovers all sessions in your current project. Shows you patterns you can't see from inside a session:
Behavioral Profile
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Sessions: 93 analyzed
Session Types
─────────────
BUILD_UNCOMMITTED 46 (49%)
BUILD_TESTED 12 (13%)
BUILD_UNTESTED 20 (22%)
RESEARCH 5 (5%)
Shipping
────────
Sessions with commits: 32 / 93 (34%)
Where You Get Stuck
───────────────────
Edit 9x avg 5.7 errors tends to happen mid
"<tool_use_error>File has not been read y"
Bash 5x avg 3.6 errors tends to happen mid
When you get stuck:
50-75% 5 ( 42%) ████████
Most Reworked Files
───────────────────
cli.py 58 edits across 4 session(s)
schema.rs 86 edits across 9 session(s)
Recommendations
───────────────
[!!!] Low commit rate (critical)
Only 34% of sessions produced commits.
Action: Commit after each logical unit of work.
[!!!] Read-before-edit violations (critical)
Stuck on "file not read" errors 9 times.
Action: Always read a file before editing it.
[ !!] Chronically reworked files (recommended)
cli.py thrashed across 4 sessions — consider splitting.
The profile is the point. Not a grade on one session — patterns across all of them. Where you get stuck, what files you keep reworking, whether you're shipping or churning.
Single session analysis
sesh analyze
Outcome-based grading. Measures what matters: did you ship, did tests pass, did you get stuck.
Session Analysis
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Duration: 47 min | 312 tool calls | ~$8.20
Files touched: 14
Grade: A (90/100)
Session type: BUILD_TESTED
What Happened
─────────────
312 tool calls, 3 errors (1% error rate).
11 commits. Tests: 398 passing.
Process grades are anti-correlated with shipping — we tested this. Sessions that score high on "process quality" ship less. So we measure outcomes: commits, test results, stuck events, rework.
Collaboration analysis
sesh analyze
Every session also gets a collaboration grade — how well the human and AI worked together. Across 810 sessions, the collaboration pattern predicted shipping better than any process metric. Short directions + corrections when the AI drifts → 43% ship rate. Detailed specs with no interaction → 7%.
The collaboration score shows your archetype (Partnership, Struggle, Autopilot, Spec Dump, Micromanager) and how it evolves across sessions with --profile.
Repo audit
sesh audit
Scores your repo on 9 metrics that determine whether an AI agent will succeed or struggle:
Repo Audit: 89/100 Grade: B
bootstrap [10/10] ██████████
task_entry_points [ 6/10] ██████░░░░
validation_harness [10/10] ██████████
linting [ 8/10] ████████░░
agent_instructions [ 8/10] ████████░░
Close the loop
# Generate CLAUDE.md rules from your behavioral profile
sesh analyze --fix
# Write session feedback directly into CLAUDE.md
sesh analyze --feedback
# Fail CI if repo AI-readiness drops below standard
sesh audit --threshold 80
More commands
sesh analyze and sesh audit require no setup. The commands below use a local database for cross-session tracking:
sesh init # Initialize .sesh/ in current directory
sesh watch --once # Auto-discover and ingest all sessions
sesh reflect # Analyze most recent ingested session
sesh report # Cross-session trends
sesh replay # Step-by-step session replay
sesh replay --errors # Show only where things went wrong
sesh test # Compare outcomes between two sessions
sesh tui # Live terminal dashboard (monitors active session)
sesh live # Lightweight live monitor (for small panes)
sesh fix --patch # Generate CLAUDE.md patch from analysis
sesh search "auth bug" # Full-text search across sessions
sesh debug # Prompt debugger — trace decisions
MCP Server
Let your agent self-analyze at runtime. Add to Claude Code (~/.claude/settings.json):
{
"mcpServers": {
"sesh": {
"command": "sesh-mcp",
"env": {
"SESH_DB": "/path/to/your/project/.sesh/sesh.db"
}
}
}
}
Supported formats
- Claude Code (.jsonl) — fully supported
- OpenAI Codex CLI (.jsonl) — fully supported (auto-detected)
Install from source
git clone https://github.com/ateeples/agentsesh.git
cd agentsesh
pip install -e .
License
MIT
Metadata
Release files for agentsesh 0.15.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| agentsesh-0.15.0.tar.gz | 170.3 kB | Without provenance | Details for agentsesh-0.15.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| agentsesh-0.15.0-py3-none-any.whl | Python 3 | none | any | Details for agentsesh-0.15.0-py3-none-any.whl |
Total release size: 305.8 kB
Release files / agentsesh-0.15.0.tar.gz
| Download URL | agentsesh-0.15.0.tar.gz |
|---|---|
| Size | 170.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
37ea99b54bf26dec9f3177f469d04ae6f28eccb201aa4a68c5ff5b909f1b4b28
|
|
BLAKE2b-256 checksum How to use checksums |
17d4cd7d382fc7562ceb4a5eea6df895101f964cfa9e9b7d707a09222edf6980
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / agentsesh-0.15.0-py3-none-any.whl
| Download URL | agentsesh-0.15.0-py3-none-any.whl |
|---|---|
| Size | 135.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7e9356b9ed7fc8f78dc50f108ed3ac08f69529dfd4c81f251365671eb44bc04b
|
|
BLAKE2b-256 checksum How to use checksums |
27bfa1ed6a75baceeace96d67163a9b76b056390a84f6047f61cb95107c35bf2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Security for agentsesh 0.15.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.