FlockTab

tab · the CLI

One command in front of every agent.

tab starts Claude Code, Codex, Grok or Kimi Code through FlockTab. Every call is checked against the Agent's tab before it reaches the vendor, and recorded after. Nothing to configure in the agent itself.

$ npm i -g @hanamorilabs/tab
$ tab login # once per machine, approve in the browser
$ tab claude # or tab codex, tab grok, tab kimi, in a project folder

One call, two places to run it

Your prompts never have to touch our servers.

tab points the harness at a FlockTab proxy. Each call is held against the Agent's tab and checked in order: the key is live, the kill switch is off, the cap has room, the policy allows the model and tools, and, if you turned it on, Jev's guard. A call that passes settles at what the vendor reported. One that fails gets a refusal with the reason, 402 tab_closed for example, and never reaches the vendor.

Self-hosted, the proxy runs on your machine. Prompts, replies, provider keys and your subscription logins go straight from your machine to the vendor. flocktab.com only ever sees the numbers it needs to keep the tab: model, tokens, cents.

Hosted, the proxy runs at proxy.flocktab.com: nothing to install. Prompts pass through it in memory on their way to the vendor and are never stored or logged.

Where the proxy runs
Self-hosted: On your machine, one small binary
Hosted: proxy.flocktab.com, nothing to install
Prompts and replies
Self-hosted: Never reach flocktab.com
Hosted: Pass through in memory; never stored or logged
Provider keys
Self-hosted: Stay on your machine
Hosted: Stored encrypted; opened per call only with your unlock
Subscription logins
Self-hosted: Stay on your machine
Hosted: Pass through to the vendor; never stored
What flocktab.com keeps
Self-hosted: Model, token counts, cents, duration and tool names, plus the exceptions below
Hosted: The same, and nothing more
Caps, kill switch, policies
Self-hosted: Enforced, same ledger
Hosted: Enforced

What does leave your machine, even self-hosted

  • Jev guard, only if you turn it on. Each tool call the agent is about to run, the command and its arguments (for a file write, the text being written), goes to flocktab.com and to Jev, TypeSafe's model, to be judged. Keys, tokens and passwords are removed first. Only a 200-character summary is kept.
  • Loop watch, only if you turn it on. Every few calls, the last ten as one-line summaries: what ran and whether it failed, with the first line of any error. Never the output.
  • Which subscription login. For a Claude, ChatGPT, Grok or Kimi login, the vendor's account id, email and plan, so usage lands under the right account. The login itself stays on your machine.
  • Where each Agent runs. The folder path and git remote, so the console can tell your projects apart.

tab up starts the self-hosted proxy: one small binary, no database, streaming passed straight through. The ledger, caps and kill switch stay on flocktab.com, so the same limits hold wherever the proxy runs, and if flocktab.com cannot be reached the call is refused, never let through unmetered.

$ tab up # start the proxy on this machine
$ tab claude # every launch now goes through it
$ tab down # back to hosted

Machines and folders

Log in once. Each folder knows its Agent.

tab login approves the machine once, in the browser. The first tab claude in a folder asks which Agent it runs as and writes it to a .flocktab file, so the next launch there needs no questions.

One harness on one project is one Agent: Claude and Codex in the same repo are two Agents, each with its own cap and ledger.

Subscriptions

Your own logins, pooled, still under the tab.

A subscription Agent uses the harness's own login: Claude Max, ChatGPT, SuperGrok or Kimi. FlockTab still gates every call with the same kill switch and policy, and records it at list price under the account the vendor names. Nothing is charged to the cap, and you never declare accounts or plans; they are read off the replies.

With several logins, tab pool sends each launch to the one with the most of its week left and skips one over its limit. Claude's Fable models have their own weekly window, tracked beside the general one.

Watch the flock

tab top: the whole flock on one screen.

Redrawn every couple of seconds in the terminal. An example, with invented names and figures:

Totals
Who is working, calls per minute, anything blocked, spend this window, outside spend for 30 days, and what Jev checked, stopped and found stuck.
Agents
Every Agent with its harness, project, cap or login, pace, and the last decision with its reason. Closed tabs sit at the bottom in red.
Leaderboard
Today's token hogs, fastest models, peak pace, biggest single call, and best cache use.
Subscriptions
Each login's 5-hour and weekly windows, Fable's own week, which Agents are on it, and the pool's next pick.
Outside spend
Spend FlockTab did not proxy, from the connectors (OpenRouter, Cloudflare, GitHub and more), by project, with what is still unattributed.
Keys
q to quit, r to refresh; --once prints a single screen for a pipe.

Jev in the loop

Irreversible calls stop before they run.

Turn on the guard per Agent with tab policy --guard ask or in the console. Before the harness runs a tool call, FlockTab checks it: known irreversible commands (a force-push, a production deploy, a payment, deleting data) by rule, the rest by Jev, TypeSafe's judgment model. Watch records, ask has you confirm, deny refuses.

It also stops calls that reach past the project: ssh to another machine, sudo, a database on another host, reading keys, or the harness turning its own sandbox off. Tune it per Agent with your own patterns, tab policy --flag "*prod*" or --trust "ssh staging-bastion*", or in the console.

--loops watch spots an agent repeating itself without getting anywhere; pause also closes its tab. What goes to Jev, and what never does, is listed above under what leaves your machine.

Every command

The reference.

The same text as tab help. Full details, options and examples are in the docs.

Get started

Once per machine, then once per project folder.

  • tab loginApprove this machine in the console, once.
  • tab usePick or change the Agent this folder runs a harness as.

Run an agent on the tab

Prefix the agent you already use. Its calls are gated, recorded and, on an API-key Agent, charged to the cap.

  • tab claude | codex | grok | kimi | <cmd>Run an agent on this folder's tab. Everything after the name goes to the agent untouched.
  • tab alias setup | remove | listMake the plain command (codex) run through the tab (tab codex).

Agents, caps and policy

Everything the console's Agent page does, from the terminal. Leave the Agent out and the command acts on this folder's.

  • tab agent create | kindMake an Agent, or change its kind or harness.
  • tab listEvery Agent: kind, state, spent of cap, window, project.
  • tab close | open [agent]The kill switch. Close stops the next call; open lets calls through again.
  • tab cap [agent] <dollars>Set the hard cap and, optionally, its window.
  • tab policy [agent]Show or set the rules checked before every call.
  • tab rename <agent> <name>Rename an Agent. Its slug, and so its console URL and .flocktab files, stay.
  • tab key rotate [agent]Mint a new key for an Agent, kept on this machine. The old one stops working.
  • tab project | projectsGroup Agents under a project for chargeback (Team plan and up).
  • tab archive [agent]Close an Agent for good and take it off the bill. Its history stays.

Subscriptions and the pool

Agents that run on your own Claude, ChatGPT, SuperGrok or Kimi plan, and choosing between several logins of one vendor.

  • tab accountsEvery plan login your Subscription Agents were seen on, and how used it is.
  • tab pool [add | remove | at | swap]Several logins of one vendor on this machine; the agent runs as the one with most room.

See what happened

Read commands. Add --json to any of them for scripts and agents.

  • tab statusWhich flock, which Agent this folder runs as, its kind, and whether the proxy answers.
  • tab top [--every <seconds>] [--once]The flock live in a scrolling screen: Agents, the leaderboard, subscriptions and their windows, the pool, outside spend, the ledger.
  • tab statusline [harness]One line for a harness's status bar: the Agent and its tab, or the plan's windows.
  • tab log [-f] | log --proxyEverything that went through the tab, one line per call.
  • tab ledger [agent]One row per call, with the hold and what it settled at.
  • tab spend [agent|project|day|model]What was spent through the tab, and outside it, grouped: by Agent, project, day, or model and effort.
  • tab outsideThe outside-spend connections and their totals per project.
  • tab liveWho is active right now.
  • tab web [agent]Open the Agent's page in the console.

Self-hosted proxy

Provider keys stay on your machine; the ledger stays on flocktab.com.

  • tab up | downStart or stop the self-hosted proxy on this machine.

This machine

The CLI itself.

  • tab updateInstall the newest tab from npm, and with it the newest proxy.
  • tab versionThe versions of tab and of the proxy it carries.
  • tab logoutForget this machine's session and Agent keys.