Skip to content

v0.1.42

Latest

Choose a tag to compare

@hadefication hadefication released this 27 Aug 11:59

Multiple agent accounts

Run more than one login side by side — a work account in one tab, a personal one
in the next. Supported for Claude Code and Codex.

Open Settings (⌘,) → Accounts → Add Account…. Zetty creates a private config
directory for the account, seeds it from your existing setup, and can open a
terminal to sign in on the spot — or you can create the account now and sign in
later. Your existing login is untouched and stays available as Default.

Choose an account three ways:

  • Per project — Project Settings → General → Account. Every new pane in
    that project uses it, and clones inherit their source's.
  • Per pane — with agents enabled, the new-tab/split chooser lists each agent
    once per account.
  • For an open pane — right-click its gutter → Account ▸. Because a
    program reads its environment once at startup, this reopens the pane in the
    same slot on the new account.

A status-bar chip names the focused pane's account and agent; tab pills and
sidebar rows carry a matching colored dot. Nothing appears until you create your
first account.

Each account keeps its own credentials, settings and history. Skills, commands
and agent instructions are shared by symlink so your tooling follows you;
settings are copied so each account keeps its own; plugin directories are never
shared, because two agents writing through one link corrupts them.

Control CLI

zetty accounts                  # list accounts and their config directories
zetty accounts --probe          # ...and ask each one who it's signed in as
zetty new-tab --account work    # open a tab on a specific account
zetty split --account personal  # likewise for a split

zetty status shows the account for any pane not on the default login. An
unknown --account name is an error rather than a silent fall back to the
default — landing on the wrong account is the mistake this feature exists to
prevent.

Fixes

  • Preserved sessions survive a bad environment variable. libghostty
    validates its config all-or-nothing, so one directive it refused previously
    dropped the pane's launch command too, leaving a plain shell instead of a
    reattached session. The launch command is now kept regardless.
  • Project Settings no longer erases fields it doesn't show. Saving the sheet
    rebuilt settings from a blank record, silently clearing anything set elsewhere.
  • Codex accounts get agent status dots. Each agent reads its hooks from its
    own config directory, so hooks are now installed per account.