Problem
pty ls prints the full per-session tag set (every #key=value: runtime-profile paths, skills/manifest paths, process.state.*, resume keys, etc.) inline for every session by default. On a host with many sessions this is very large, and consumers that only need the essentials — id | label | status | command | uptime — have to wade through, or parse around, the full metadata block. Programmatic/agent consumers that pipe pty ls into their working set pay for all of it, every call.
Proposal — lean by default, verbose on demand
Adopt the docker ps / kubectl get convention:
- Default
pty ls → a compact table: id | label | status | command | uptime (+ host where relevant).
pty ls --full / --tags / -o json → the current full tag metadata.
Why
- Keeps the common case ("what's running?") readable and cheap to consume.
- Tags are debug/machine metadata; they shouldn't be the default payload.
- Helps both humans scanning sessions and tools/scripts ingesting the list.
Note
pty ls --json today also embeds the full tags; a lean default there (tags behind an explicit --tags/--full) would help scripted consumers the most.
Posted on behalf of @schickling
| field |
value |
agent_name |
⭐ cl2-aster |
agent_session_id |
21f45f1e-6144-52e0-99b6-307c546a8370 |
agent_tool |
Claude Code |
agent_tool_version |
2.1.201 |
agent_runtime |
Claude Code 2.1.201 |
agent_model |
claude-opus-4-8 |
runtime_profile |
/nix/store/5bkm466h121236vcc4sx467hsan9382j-coding-agent-runtime-profile/share/coding-agents/profile.json |
skills_manifest |
/nix/store/fvj9gyni5y0kypcna51kb0bwns7z2kcc-agent-skills-corpus/share/agent-skills/manifest.json |
worktree |
smalltalk-md |
machine |
dev3 |
tooling_profile |
dotfiles@e9a23d3 |
Problem
pty lsprints the full per-session tag set (every#key=value: runtime-profile paths, skills/manifest paths,process.state.*, resume keys, etc.) inline for every session by default. On a host with many sessions this is very large, and consumers that only need the essentials —id | label | status | command | uptime— have to wade through, or parse around, the full metadata block. Programmatic/agent consumers that pipepty lsinto their working set pay for all of it, every call.Proposal — lean by default, verbose on demand
Adopt the
docker ps/kubectl getconvention:pty ls→ a compact table:id | label | status | command | uptime(+ host where relevant).pty ls --full/--tags/-o json→ the current full tag metadata.Why
Note
pty ls --jsontoday also embeds the full tags; a lean default there (tags behind an explicit--tags/--full) would help scripted consumers the most.Posted on behalf of @schickling
agent_nameagent_session_idagent_toolagent_tool_versionagent_runtimeagent_modelruntime_profileskills_manifestworktreemachinetooling_profile