No global scope: Offsite leaves your tools as you set them up

Tools around coding agents like to put hooks, MCP servers and skills into your global config, where they outlive the tool. Offsite hands everything it needs to the session it starts, and your own setup for tmux, Claude Code, Codex and your shell stays the one you wrote.

Many tools around coding agents set themselves up in your global scope. They add hooks to ~/.claude/settings.json, register MCP servers and drop skills into your home directory, append to ~/.tmux.conf and install tmux plugins. From then on every session of that CLI carries them, including the ones you start in a plain terminal. And they stay after you stop using the tool, until you find each entry and delete it by hand.

Offsite sets what it needs on the session it starts, and only there. Your global config stays the one you wrote: run claude or tmux in a terminal next to Offsite, and they behave as they did before you installed it.

A tidy desk by a window, a laptop on it showing an Offsite board

tmux: a socket and a config of its own

Every Offsite session runs in tmux on your host, each one on its own socket, tmux -L offsite-<tool>-<session-id>, started with Offsite’s own config file from ~/.offsite/tmux/. Offsite never writes ~/.tmux.conf and installs no tmux plugins. Your tmux setup stays yours, and a plain tmux ls lists only your own sessions.

The agent CLIs: everything on the command line

Each CLI gets what Offsite needs through flags on the command line of that one session.

Claude Code gets its hooks as a --settings block, Offsite’s MCP server with --mcp-config, and a short briefing about the Offsite environment with --append-system-prompt. ~/.claude/settings.json and ~/.claude.json stay untouched.

Codex gets the same as -c overrides: the hooks together with Codex’s own trust for them, the MCP server, and the briefing as developer_instructions. ~/.codex/config.toml stays untouched.

Grok runs with a home of its own in ~/.offsite/agent-homes/grok, which holds Offsite’s config, hooks and MCP entry. Offsite copies your Grok sign-in there once; ~/.grok keeps what it had.

The hooks report when a turn starts and ends and when an agent waits for you. They drive the status on the card and the notification on your phone, and they exist only in the sessions Offsite starts. Offsite’s MCP server, offsite_computer, is the same: every agent session Offsite starts has it, and no other session does. Offsite installs no skills; an agent learns about the Offsite environment from the briefing of its own session.

Your shell

A terminal card starts your login shell through a small wrapper in ~/.offsite/shell-wrappers/. The wrapper loads your own .zshrc or .bashrc first, then adds the card’s prompt and Offsite’s shell integration for that card. Your rc files are never edited.

One directory, and two settings you ask for

Everything else Offsite keeps lives in ~/.offsite: session state, logs, uploads, archives, its tmux config. Add the background services it registers with launchd or systemd, and that is the whole footprint, listed in What Offsite puts on your machine. Removing Offsite means stopping those services and deleting that one directory.

Two global settings change, each only when you ask for it:

Your Git identity. If Git on the host has no name and email yet, the Git card asks for them before your first commit. Save identity stores them where Git keeps them for your user, the same as git config --global.

One Codex hook entry. On a host whose Codex does not take hooks per session, a Codex card shows a Codex hook chip. Allow it, and Offsite adds one entry to ~/.codex/hooks.json, which Codex asks you to trust once. offsite-host codex-hooks uninstall removes it again, and so does resetting the host. Decline, and Codex sessions keep working on Codex’s own notify signal.

All posts