BrainwriteDocs
Features

Approvals and inspector

Stay in control when agents ask questions, request access, or perform risky work.

Brainwrite renders structured agent events as native conversation cards. Questions, choices, permission requests, tool activity, and failures remain attached to the task that produced them.

Approval cards

When an engine supports approvals, Brainwrite surfaces the request instead of hiding it in terminal output. Read the requested action and scope before approving it. Denying an action sends control back to the agent so it can choose a safer path.

On the desktop, a bot's request to run a command, edit a file or send something shows as one line above the message box, for example "Nova wants to run" followed by the command. Answer it there:

  • Allow once lets this one action run.
  • Always allow appears when the request can be remembered. Hover over it to see what it covers, for example this exact command in this folder, or the rest of the engine's session.
  • Deny refuses it.
  • The arrow opens the details: the full command or request, and Cancel turn.

After you answer, the chat keeps one line for the request, with a check mark when it was allowed. Requests to add a skill or change a routine, a profile, a team or a model keep their full card.

Sending on your behalf

Emails, messages, posts, invites and payments that a bot sends through connected apps are sends. Reading and drafting never count.

A bot sends up to a number of these a day without asking you. Past that number, each send asks first.

  • The app's number is in Settings → Approvals (admins only): 25 a day unless you change it, from 0 to 1,500. It applies to bots at Full access that have no number of their own. 0 means every send asks.
  • A bot's own number overrides it, at every approval level. Open the bot's settings (in Simple mode, choose All settings first), go to Permissions, and under Sending on your behalf choose Same as the app, or Its own and type a number (0 means every send asks). Change next to the app's number opens Settings → Approvals. Below it, the card shows how many the bot sent today without asking.
  • Below Full access, a bot with no number of its own asks before every send.

A send that asks shows a card titled Send to the app's name, or Send on your behalf?, and waits for your answer. A send you allow there doesn't count toward the day's number. A routine that reaches the number waits on the card too. The count starts again each day.

The level that counts is the conversation's own: a thread set to Ask for approval asks even if the bot's other threads have Full access, and a conversation a guest drives on My Cloud always asks. A request that runs code on a connected app, titled Run code on the app's name, always asks, even within a bot's own number; only at Full access with the app's number does it count toward that number instead. Apps the bot has no access to are refused at every level.

Refresh a thread's permissions

Each thread keeps the approval level it started with. After you change a bot's approval level or saved approvals, open a thread's … menu in the sidebar and choose Refresh permissions to apply the bot's current ones to that thread. Other threads stay as they are. It is not available while the thread is working.

Changes a bot makes

Brainwrite adds no approvals of its own on top of the access level you chose. When a bot changes its own skills, profile, working folder, or default model, when a Chief changes a teammate's profile or model or sets up the team, or when a bot saves a fact to team memory, the change applies at once, at every approval level. Each change shows in the conversation as one plain line, for example "Clive set up the team: added @Mira", with Details for the full text and Undo to put it back. After you undo it, the line ends with "Undone". If the thing changed again since, or a bot the setup created has already been used, Undo says so and changes nothing. Deleting a bot has no Undo.

The engine's own permission system (Claude's or Codex's approvals, for example) is the only thing that asks before a bot acts. Two cases still show a card: a bot suggesting a specialist you did not ask for is its question to you, and in a conversation a guest or a webhook drives on My Cloud, every change waits for the Cloud's owner.

Routines follow their own rules for now: a bot's own routines apply with Undo, and a routine for another bot asks unless the conversation has Full access.

Skills with reference files

A skill a bot writes can keep up to 8 reference files beside its instructions, each up to 32 KB, which the bot reads only when it needs them. A skill's card says how many it keeps, and its details show the complete instructions and every reference file in full, so you can review all of it before you approve or after it was added.

When an engine runs out of quota

When your own message stops because the bot's engine is out of quota or hit a usage limit, the chat shows a card titled with the engine's name and is out of quota. It offers up to three other engines you have set up that can take over, and Not now. Choosing one switches that conversation, and only that one, to the other engine and sends your message again; a status line in the chat says what happened. Routines, webhooks and messages from other bots never get this card.

Inspector

Use Inspector when you need more detail than the conversation provides. It is useful for following tool calls, reconnect attempts, engine output, and long-running work. Open it from the chat's header menu; it is available in Advanced mode.

Export saves one file with the conversation, its events and the engine's raw messages, in time order. It is useful when reporting a problem. Secrets are removed, but what was said and done is included: review the file before sharing it.

When a run disconnects

Brainwrite retries transient streaming failures. If retries end in an authentication or configuration error, fix the underlying engine rather than repeatedly retrying the task. See Agent engine troubleshooting.

On this page