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 "Ada 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.
- At Full access, a bot sends without asking: no card, and no daily allowance.
- Below Full access, the bot's settings decide. Open its settings (in Simple mode, choose All settings first), go to Permissions, and under Sending on your behalf choose Ask every time (each send waits for your answer) or Allow a daily amount (sends go out on their own, up to the number you set).
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 send asks with a card titled Send to the app's name, or Send on your behalf?. A request that runs code on a connected app, titled Run code on the app's name, always asks below Full access, even within a daily amount. 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.