Several accounts, one pool

When several agents work at once, one subscription runs out fast. Then you stop, log out, log in to another one, and start again. Koloft keeps your accounts in one pool, and each new session starts on the one with the most room left.

Every session in Koloft runs on a Claude, Codex, Muse or Antigravity account you add here, never on the login this Mac already has. So the first time Koloft opens, it asks you to sign in to one of them (the welcome screen "One sign-in. Koloft does the rest."). It picks the agent you used last (or the first one on this Mac, if you never used any), and a row of four buttons lets you pick another. The account is named after the agent, like Codex. An account that needs signing in again is signed in again, not added twice. Claude's Sign in installs Claude Code first when this Mac has none, then opens your browser. Sign in to Codex, Sign in to Muse and Antigravity's Sign in with Google install the tool first when this Mac has none: the dialog says so, and the same terminal tab runs the official installer, then signs in. For these three, the sign-in tab closes itself when the tool ends (in Antigravity, type /exit once you are signed in). If Koloft then finds you are not signed in (you pressed Cancel above the sign-in terminal, say), it says Sign-in did not complete. with the last lines the tool printed and a Try again button, and takes a new account off the list.

Koloft's Settings, Accounts page: the Skip permission prompts switch, whose note names the flags it adds for Claude, Antigravity, Muse and new Codex sessions, the Prefer accounts with fable allowance switch, two Claude accounts named Personal and Work with their five-hour, seven-day and fable use, and Sign in, Paste token and Refresh usage buttons
Settings ▸ Accounts: two Claude accounts and how much each has used

At the top sits Skip permission prompts, on at first. With it on, a Muse session Koloft starts, and a Claude Code or Antigravity session it starts on one of your accounts, runs without asking for permission, here or on a machine. So does a new Codex session. It starts with -a never -s danger-full-access: it never asks for permission (Codex's own trust question for a folder it has not seen still comes first), and it runs outside Codex's sandbox (the box Codex runs commands in), so it may write anywhere and use the network. With the switch off, a Codex session follows Codex's own approval settings. A Codex session you resume keeps what it started with. A permission setting given to one launch (a scheduled job's, say) still wins.

Claude

Add your subscription accounts in Settings ▸ Accounts. Sign in runs the official claude setup-token for you in the background. You approve once in your browser, and the token goes straight into the pool. Or paste a token you already have.

You can also add an API (application programming interface) key, or a custom endpoint: another server that speaks the same API. Koloft cannot read how much is left on those, so it uses them only when every subscription is out and none comes back within 30 minutes, or when you have none.

How it picks

Good to know

Codex

Sign in to Codex runs codex login in a terminal tab. Each sign-in becomes its own Codex home, a folder that holds that one login. The sign-in tab says Codex sign in: <name> above the terminal, with a Cancel button. If this Mac has no codex yet, the dialog says so and the same tab runs its official installer first, then signs in. New Codex sessions start on the least-used Codex account, and skip one that has hit its limit while another is free. An account with no reading yet (one just added, say) is used only when no account with a reading has room. When every account has a reading and all are at their limit, the session runs on the one that resets first, and a message says so. Settings and the Account usage panel show each account's use for each limit Codex reports (such as 5 hours and a week), its credits, and the resets it has saved, like 62,500 credits · 3 resets saved, first expires 10-21 09:00.

An account that hit its limit shows WALLED in the panel. When it has a saved reset, a Use a reset button is there too: say yes, and Koloft spends one reset and reads the account's limits again.

Muse

Muse Code is Meta's agent. Sign in to Muse runs muse login in a terminal tab; each sign-in becomes its own account, with its own sign-in folder. Your Muse settings and trusted folders are shared by every account. Or Paste API key: Koloft hands the key to muse, which keeps it in that account's folder. An account signed in with Meta shows how much of its 5h and 7d allowance is used, in Settings and in the Account usage panel; an API key account just says Signed in. New Muse sessions pick their account the way Codex sessions do; an API key account counts as one with no reading.

Antigravity

Antigravity CLI (agy; CLI means command-line tool) is Google's agent, the one that took over from Gemini CLI. Sign in with Google runs agy in a terminal tab: you sign in, pick a colour scheme, answer Google's Terms screen and type /exit. Each account keeps its sign-in in its own folder, never in the login Keychain; your Antigravity conversations, rules, plugins and MCP servers (boxes of tools an agent can call) are shared by every account. Or Paste Gemini API key: the key goes into your Keychain and is handed to agy when a session starts. An account signed in with Google shows how much of its 5h and 7d allowance is used, in Settings and in the Account usage panel. New Antigravity sessions pick their account the way Codex sessions do; an API key account counts as one with no reading. The session runs in agy's full-screen mode, which does not flicker, unless your own agy settings file names another mode. Switching to the other mode, inline, in agy's /config only removes that setting, so it lasts until the next launch.

What your sessions cost

The little bars say how much room an account has left. Settings ▸ Usage says something else: what your sessions would have cost if you paid the API (the pay-per-use price) for every token (a small piece of text a model reads or writes). A subscription is not billed per token, so the page calls it "a yardstick, not a bill". Typing "usage", "cost" or "spend" in ⌘P opens it too.

Koloft's Settings, Usage page: 30 days picked, $216 and 13 sessions, one bar per day, and the bar for today hovered: Claude Code $3.22, Codex $2.25, Antigravity CLI $1.68. Below, By day, newest first: Today, Yesterday and the day before, each with its sessions and cost.
Settings ▸ Usage: one bar per day, and today's split by agent

Assist and your butler

Assist is Koloft's own AI. One of your accounts runs it. It does small jobs for Koloft. Your butler, the AI you talk to, runs on the same agent, and works whether the small jobs are on or off. Settings ▸ Assist has three rows: Koloft Assist turns the small jobs on or off; Runs on picks the agent, Claude, Codex, Muse or Antigravity, for the small jobs and for your butler; Name is your butler's name.

The small jobs:

How they run:

Your butler

The top of the sessions list: the row Alfred · Butler, with #global under it, above the tidewatch folder. Its right-click menu is open: Open, Rename…, Start a fresh conversation, Change Discord channel…, Unbind Discord.
your butler, first in the sessions list, with its menu open

Your butler is the AI you talk to in Koloft. It is called Alfred until you give it another name. It is one session, on the agent Settings ▸ Assist ▸ Runs on picks, and it runs on your Mac in a folder of its own, not in one of your projects. Tell it what you want and it reaches your sessions for you (see what it can do).

What your butler can do

It works through the koloft command, like every session. In every folder of the sidebar, it can:

It cannot close a session on another machine (Koloft cannot check what closing it there would lose).

It has no tool limits of its own: it follows your Skip permission prompts setting like any session. It is told to only talk with you and pass messages, and not to do a task itself unless you tell it to ("do not start a session, do it yourself"): project work goes to a session in that project's folder, anything else to a helper. It is also told to ask you before deleting or undoing anything.

It reaches every kind of session the same way, with koloft session send, answer and keys:

Git accounts

A session that pushes needs a git login too. Settings ▸ Accounts ▸ Git accounts lets you add accounts for GitHub, GitHub Enterprise, GitLab, Bitbucket, Azure DevOps, Gitea / Forgejo / Codeberg, or any other git server, and pick one per repository. Every Claude Code and Codex session in a folder with a pick pushes and fetches as that account; on GitHub and GitHub Enterprise, gh (GitHub's command-line tool) runs as it too. Koloft never touches your own git and gh setup: a folder with no pick, and every session in it, keeps using it.

Adding one

Click Add account and pick the host:

An account for this Mac is kept on this Mac only, in the Keychain like your other tokens. An account for another machine stays on that machine (see On another machine). Its row says how many folders use it; their names show when you click Remove. Make default makes it the first choice when a folder on that host picks one; Remove takes it off this Mac, and its folders go back to your own setup. When the server turns its token down, the row says NEEDS SIGN-IN AGAIN.

Picking one per folder

Hover a folder's branch sign: its git panel has an Account part. Pick an account there, change it, or go back to your own setup.

On another machine

A remote folder's machine keeps git accounts of its own. Once a remote folder is in the list, Settings ▸ Accounts ▸ Git accounts gets a Machine row: This Mac, and each machine. Pick a machine and the list, Add account, Make default and Remove are that machine's. Your Mac's accounts never go to a machine, and a machine's never come to the Mac. Once a machine has an account, its remote folder's git panel gets the same Account part as a local one, and a pick there works as above: git follows it, and for a GitHub or GitHub Enterprise account gh, the issue and pull request counts, and gh auth login do too. What differs:

Servers that allow SSH only

Some GitLab and Gitea servers allow SSH only. Then the git panel says This server allows SSH only — bob has no SSH key on this Mac yet. with a Make a key for bob button. Press it, and Koloft makes the key, shows it with Copy key and Open SSH keys page, and Check again tells you whether the server knows it yet. Pushes and fetches in that folder then use that key.

Your own accounts

The pool is for your own accounts. Please check that the way you use them fits Anthropic's, OpenAI's, Meta's and Google's terms. That is between you and them.

Next page → Remote folders