Checkpoints and workflow tools
Rewind an agent's changes, recall commands, see ports, run Best of N, keep a prompt library, find any engine session and catch a runaway agent.
Seven tools that work on your computer only. None of them sends anything off the machine.
Checkpoints
Vibezeo saves a copy of a folder's files just before an agent works on it, so you can put files back the way they were.
- When. Before each thread turn, and before a prompt you send to an agent pane (pressing Enter waits up to 2 seconds for the copy; a copy that takes longer is marked Late). Checkpoint now saves one by hand.
- Where. In the app's data folder,
~/.tandem/checkpoints/, never in your repository: no commits, branches, refs or stashes are added, and your git index isn't touched. Identical files are stored once. - What's in one. In a git repository, the files git would list (tracked, plus untracked files
.gitignoredoesn't exclude). Outside a repository, every file except what.gitignorefiles exclude, hidden files included, up to 20,000 files; past that the checkpoint is marked Partial..gitand.tandem/worktreesare never included. Files over 5 MB are skipped and listed. - Restore. Open the sidebar's Checkpoints tab (from the + menu). Each checkpoint shows how many files differ from now and their diffs. Restore all files… or restore the files you tick; files created since are deleted. Vibezeo saves a Before restore checkpoint first, and the toast has Undo.
- Limits. On by default. 100 checkpoints per folder, kept 14 days; change both, the size limit or turn them off in Settings › Checkpoints, which also shows the space used and has Delete all checkpoints…. Checkpoints need git installed. They aren't available in folders on SSH hosts yet.
Command recall
Every command you run in a Vibezeo terminal with shell integration (bash, zsh, fish and PowerShell) is recorded with its folder, exit code and duration. Mod+Alt+J (Recall a command…) searches them.
- Enter puts the command at the focused pane's prompt or in the thread's message box without running it, or copies it when neither has focus. Run types it and Enter, only into a terminal sitting at its prompt.
- A command typed with a leading space isn't recorded. Text that looks like a secret is stored as
[REDACTED], and such a command can be inserted for you to fill in but never run. - Commands are kept 90 days (at most 50,000). Settings › Terminal turns recall off, changes the days and has Clear command history….
Ports
The sidebar's Ports tab (from the + menu) lists TCP ports that processes started in Vibezeo panes are listening on, with the process and the pane. Servers started outside Vibezeo aren't listed. It refreshes every 2 seconds while the tab is showing.
- Open loads
http://localhost:<port>in a sidebar browser tab; Copy URL copies the address. - Stop asks first, checks the process is still the one that pane started, and waits up to 3 seconds for it to exit; if it's still running, Force stop… ends it. The pane stays open.
- A port open to All networks (not only this computer) is marked.
Best of N
Give the same prompt to two or three agents at once, each in its own worktree, then keep the best result.
- Start with Best of N… in the command palette, in a local folder that's a git repository with at least one commit. Choose 2 or 3 agents (the same engine can appear twice) and, optionally, a check command such as
pnpm test. - Each agent gets a worktree on its own
tandem/<name>branch from the current commit and starts right away with the prompt; the worktrees appear under the folder in the rail. Uncommitted changes in your folder aren't in the worktrees. - Compare (opens after Start, and from Compare Best of N in the palette) shows each agent's state, files changed and diff against the starting commit. Run check runs the check command in every worktree at once, for up to 10 minutes each, and shows passed or the exit code with the last 200 lines of output.
- Keep this one… stops the agents, commits that agent's changes on its branch, merges it into your folder, and deletes the other worktrees and their uncommitted changes. Their branches stay. It refuses while your folder has uncommitted changes, and a merge conflict keeps every worktree. Discard all… deletes every worktree; branches stay.
Prompt library
Save prompts you reuse as Markdown files and drop them into any message box or pane.
- Where.
.tandem/prompts/*.mdin a repository (shared with your team through git) and~/.tandem/prompts/*.md(yours, in every workspace). Front matter can settitle:anddescription:. Files over 64 KB, and links that lead outside their folder, are skipped. - Variables.
{{branch}},{{file}}(the editor's active file),{{selection}}(the selected text in the terminal pane you're inserting into) and{{clipboard}}are filled in for you; any other{{name}}is asked for before inserting.\{{keeps a literal{{. Selection and clipboard text go in marked as untrusted input. - Insert with Mod+Alt+P (Insert prompt…): the text lands in the focused message box or pane and is never sent. New prompt… creates a file and opens it in the editor; Mod+Enter on a prompt edits it.
- Older worktree setups hid
.tandem/in.git/info/exclude; the list says so and Share with the repository narrows that line so.tandem/prompts/can be committed.
Session library
Session library… in the command palette lists the Claude Code and Codex sessions on this computer, including ones you started in a terminal outside Vibezeo.
- Where it reads. Vibezeo reads the engines' own session files: Claude Code's
projects/folder and Codex'ssessions/folder. It reads them in every account's home and in each engine's own home (~/.claude,~/.codex, orCLAUDE_CONFIG_DIRandCODEX_HOME); the engine's own home shows as Outside Vibezeo.- It only reads those files and never changes them. It doesn't follow links, and it never opens anything else in a home, such as the engines' sign-in files.
- A file that doesn't read as a session is skipped, and the library says how many were.
- Listing. Sessions are grouped by repository, with the engine, the account, when they last changed, their first prompt and their size. The filter narrows by title or folder.
- Open shows the prompts and replies, read-only; tools appear by name only.
- Resume opens an agent pane in the session's folder, adding the folder to the rail if it isn't there. It runs the engine's own resume (
claude --resume <id>,codex resume <id>) with the session's account; a session from outside Vibezeo resumes as it does in your terminal. It's offered when the folder still exists and the engine is installed. - Continue with another engine… opens the handoff sheet with a summary written from the session's last messages, which you can edit before starting the other engine in the same folder.
- Search session text is free and off by default. Turn it on in Settings › Privacy to search what sessions say. Vibezeo then keeps an index of their prompts and replies on this computer, and sends nothing anywhere. Tokens and keys pasted into a session are blanked out before anything is shown or indexed. Turning it off deletes the index.
Runaway guard
When you leave agents working, the runaway guard tells you when one may have run away:
- Working without stopping for 90 minutes without its turn ending.
- Share of the window: in the last hour, the agent used 30 points of its account's usage window (for engines that report usage windows and keep session logs).
- Subagents: it started 20 subagents since your last prompt (counted from the engine's own tool reports).
- Going in circles: its last three turns ended with the same screen.
The agent's pane shows a card naming the limit, with Pause and Dismiss, and a notification goes out. Pause sends the engine its interrupt key; if the agent is still working 5 seconds later, Vibezeo pauses its program until you click Resume (on Linux and macOS, for agents on your computer). An agent on an SSH host only gets the interrupt key: if it keeps working, the card says it couldn't pause, so send it a message or stop it. Dismiss keeps that limit quiet until your next prompt. Change the limits, turn any of them off, or choose Pause the agent instead of a notification in Settings › Teammates › Runaway guard. Threads and teammate chats are watched for working time only. The guard never sends a prompt and never switches accounts or engines.