Agenxy cultivates open technology

004Alpha

Quarters

Gives a shell its own configuration, history and credentials, on the same account.

Get Quarters

ONE ACCOUNT, ONE SET OF PERMISSIONShostwork
Fig. 1 SAME UID, DIFFERENT HOME

Most command-line tools keep user state below HOME, so every session shares one shell history, one Git identity and one set of credentials.

Quarters gives a native process tree a named, persistent home. Compatible tools keep their state there. The process still uses your Unix account and the machine’s programs, files, network and devices.

Basic use

$ quarters create work
Created work
...
$ quarters exec work -- quarters current
work
$ quarters enter work

Inside that shell, global Git config and shell history belong to work. Each space persists after its shell exits. quarters exec work -- COMMAND runs one command in a space. From a space entered without Linux --home-view, quarters host -- COMMAND runs one command with the host state paths.

What moves

Quarters sets HOME, the XDG roots, shell startup and history paths, and supported paths for Git, GitHub CLI, GnuPG, tmux, Cargo, npm and uv. It also routes Codex, Claude Code and OpenCode state where those tools provide a usable environment contract.

The child environment starts from a small allowlist. Extra variables are included only when named with --inherit; diagnostic output redacts their values.

Where it stops

Quarters separates user state, not host-account authority. UID, groups, filesystem permissions, sudo, kernel, devices, network and login session stay with the host; absolute paths can reach the real home. macOS Keychain, TCC and app containers remain host-bound. quarters doctor reports platform and tool gaps.

Install

Published channels:

  • Homebrew: brew install agenxy/tap/quarters
  • Cargo: cargo install --locked --version 0.1.0-alpha.2 quarters
  • npm: npm install --global quarters-cli@alpha

The npm macOS executables are unsigned and unnotarised. Where host policy rejects them, Homebrew or Cargo builds locally.

Copying spaces

Not supported. A live copy can capture database write-ahead logs, sockets, agent state or partial writes.

Implementation
Rust · macOS + Linux
Repository
github.com/Agenxy/quarters