tokenstat
tokenstat
Desktop app

Run agent sessions in a workspace

György
Reviewed by
György
Updated Aug 20, 2026 3 min

A workspace is a folder you work in, with three things attached: a file tree, its git history, and a launcher for the agent CLIs you already use. This is where the app stops being a report and starts being the place the work happens.

Add a workspace

Point the app at a folder. It reads the git state and the file tree, and the folder appears in the sidebar under the machine it lives on. Nothing is copied and nothing is rewritten: it is your working copy, opened.

Start a session

Each launch profile runs one agent CLI as itself, unwrapped. The profiles cover the same harnesses tokenstat reads elsewhere: Claude Code, Codex, OpenCode, Grok Build, Copilot CLI, Cline, OpenClaw, Muse, Pi, Antigravity, Cursor Agent, and Cursor CLI, plus a plain shell and a file browser.

The Configure Grok Build dialog over the launcher: the binary and config paths it found, a model field set to grok-4.6, effort buttons from low to xhigh, a compaction slider, and permission modes from default to always-approve
Each profile keeps its own model, effort and permission settings, saved to that tool's own config.

A session is a tab, not a tool, so two Claude Code sessions on two branches are two tabs. Several run side by side in one workspace, and the sidebar shows what each of them is doing without you having to click into it.

Sessions outlive the window. They are owned by the host daemon rather than the app, so closing the window does not kill the agent working in it. Reopen the app and the session is still there, with its scrollback.

The daemon's own lifetime follows the machine it is on. On a desktop Mac it runs as a user agent under launchd, always on. On a laptop the default is off, so a closed lid cannot start remote shells: the helper stops when the app quits.

Watch what it costs

Every surface that shows work shows what the work is burning. A workspace row carries its spend, and the diff panel can say what those added lines cost to generate. That is the whole reason this lives inside tokenstat rather than beside it: nothing else that runs agents owns a normalized usage archive to price them against.

Review before you commit

The History panel shows uncommitted changes with a real diff per file, a change count, and a commit box. Nothing is staged or committed without you. No timer, no automation, and no agent session commits on its own.

The History panel beside a session: a list of commits on the right, and on the left one commit opened up with its message, its file count, and a syntax-highlighted diff with added lines marked
A commit opened from the History list, with its message and the diff that went in.

Files open in a proper editor beside the sessions: syntax highlighting, line numbers, find, bracket pairing, and changed-line marks in the gutter read from the diff the app already parsed. Saving is explicit. It is deliberately not an IDE, so there is no language server and no completion, and it will hand a file to your real editor when that is what you want.

Very large files open unhighlighted and say so, rather than opening slowly.

A shell script open in the tokenstat editor, with line numbers and syntax highlighting, the workspace file tree on the right, and the session tabs still along the top
A file open beside the sessions, with the tree on one side and the tabs still where you left them.

Human-led and verified · AI-assisted content · AI tools may help draft, edit, maintain, and improve grammar or clarity. Nothing is published automatically; every change is reviewed by the human maintainer.