Skip to main content

Puenteo — the bridge between coding agents. List, search, and export Claude/Codex/Grok/Pi/Antigravity/Qwen/Cursor/Continue/Aider/OpenHands/Goose sessions (Python library + CLI).

Project description

puenteo

The bridge between coding agents.

Python library + CLI to discover, search, and export local sessions from Claude Code, Codex, Grok, and Pi — to Markdown, HTML, PDF, JSON, ZIP, CSV, XML, YAML.

Puenteo ← Spanish puente (bridge) + puentear (to bridge / jump across).

Zero runtime dependencies · Python ≥ 3.9 · macOS · Linux · Windows

PyPI License: MIT

Install

pip install puenteo
# or
uv add puenteo
# or
pipx install puenteo

From source:

git clone https://github.com/mano7onam/puenteo.git
cd puenteo
python3 -m venv .venv && .venv/bin/pip install -e .

Library

import puenteo

print(puenteo.status())

for s in puenteo.list_sessions(limit=10, cwd="~/dev/myapp"):
    print(s.provider, s.session_id[:8], s.title)

t = puenteo.load("019f7a24", include_tools=True)
hits = puenteo.search("gatekeeper dmg", exclude_session="my-current-id")
msgs = puenteo.pull("019f7a24", query="export", mode="query", top_k=15)
print(puenteo.outline("019f7a24"))

puenteo.export_session("019f7a24", fmt="md", output="chat.md")
puenteo.export_session("019f7a24", fmt="md", output="slice.md", query="export")
puenteo.export_session("019f7a24", fmt="pdf", output="chat.pdf")
puenteo.export_session("019f7a24", fmt="all", output="./exports/")

data, media_type, filename = puenteo.export_bytes("019f7a24", fmt="html")

CLI

After pip install puenteo three commands point to the same CLI:

Command Notes
puenteo main name
asb short alias (Agent Session Bridge vibe)
pto ultra-short
puenteo status          # same as:
asb status
pto status

# Discover
puenteo list -n 20 --json
asb list --provider claude,grok --cwd ~/dev/myapp
asb list --since 2026-07-01 --group-by cwd

# Map a session, then pull what matters
asb outline <id>
asb show <id> --last 40
asb show <id> --range 100:120
asb search "topic" --json
asb search "topic" --session <id>
asb search "topic" --exclude-session <my-id>   # global search without yourself

asb pull <id> --query "topic" --mode query --top-k 15 --max-chars 8000
asb pull <id> --mode decisions --top-k 15
asb pull <id> --around 500 --radius 5

asb export <id> -f md -o chat.md
asb export <id> --query "topic" -f md -o slice.md
puenteo export <id> -f pdf -o chat.pdf
asb export <id> -f all -o ./out/

<id> = full uuid, unique prefix (e.g. 3627012b), path, or unique title substring.

Agent handoff recipe

puenteo status
puenteo list --cwd ~/dev/myapp
puenteo outline <id>
puenteo pull <id> --mode decisions --top-k 15
puenteo search 'keyword' --session <id>
puenteo pull <id> --around 500

Providers

Provider Store
Claude Code ~/.claude/projects/**/*.jsonl
Codex ~/.codex/sessions/**/rollout-*.jsonl
Grok ~/.grok/sessions/**/chat_history.jsonl
Pi ~/.pi/agent/sessions/**/*.jsonl
Antigravity ~/.gemini/antigravity/brain/*/…/transcript*.jsonl
Qwen Code ~/.qwen/projects/**/chats/*
Gemini CLI ~/.gemini (non-antigravity chat dumps)
Cursor macOS ~/Library/Application Support/Cursor · Linux ~/.config/Cursor · Windows %APPDATA%\Cursor
Continue ~/.continue/sessions/**
Aider .aider.chat.history.md (scan with --cwd or PUENTEO_AIDER_ROOTS)
OpenHands ~/.openhands/openhands.db
Goose Linux/macOS ~/.config/goose · Windows %APPDATA%\goose

Agent home dirs (~/.claude, ~/.codex, ~/.pi, …) are the same layout on all platforms; only a few Electron apps (Cursor) use OS-specific app-data paths.

asb list --provider antigravity,claude -n 20
asb pull <agy-id> --query "topic" --mode query

Export formats

md · txt · html · pdf · json · zip · csv · xml · yaml

Agent skill

./scripts/install_skills.sh

Used by

Terminal Dashboard imports puenteo for chat export (shared parsers, no duplication).

License

MIT · mano7onam/puenteo

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

puenteo-0.6.1.tar.gz (61.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

puenteo-0.6.1-py3-none-any.whl (74.4 kB view details)

Uploaded Python 3

File details

Details for the file puenteo-0.6.1.tar.gz.

File metadata

  • Download URL: puenteo-0.6.1.tar.gz
  • Upload date:
  • Size: 61.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for puenteo-0.6.1.tar.gz
Algorithm Hash digest
SHA256 68711679af25c9183d0e3bc5fe2ddf8302329e1444ca15721fbdbd787827491b
MD5 d5397b02b6852240c95dff5a3d77ae7e
BLAKE2b-256 b54fbe284c01cb00cca5824b731c0922127e83dc3b8031f5f228d787e222a940

See more details on using hashes here.

File details

Details for the file puenteo-0.6.1-py3-none-any.whl.

File metadata

  • Download URL: puenteo-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 74.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for puenteo-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 61ccbeb1abaa8e92bcf7d825f0bbcfd6c655e164f08ebc0dd4d1cc248281231c
MD5 35b5edcc5f6d0f5eeb5afc62720df5ed
BLAKE2b-256 5b8433b42e101b8b049a05ff9cab8bfd2a8805d82c5954f9a6d8638184871403

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page