#Exec denied for Agent
1 messages Β· Page 1 of 1 (latest)
Based on the error exec denied: approval required (approval UI not available), this is related to Clawdbot's exec approvals system on macOS.
The issue: When running in iTerminal with FDA (Fast Device Access), the macOS Clawdbot app isn't running in the background to provide the approval UI. Exec approvals require the app to be running (or the daemon component that handles approvals).
Solutions:
-
Run the Clawdbot macOS app alongside your terminal:
- Launch the Clawdbot app normally, then run
clawdbot gateway --verbosein iTerminal - The app provides the approval UI for
system.runcommands
- Launch the Clawdbot app normally, then run
-
Pre-approve commands via CLI (no UI needed):
# Check current approvals clawdbot approvals get # Allow a specific command (e.g., for Codex)
clawdbot approvals allowlist add "/usr/bin/bash"
# Or pattern-based:
clawdbot approvals allowlist add "**/bin/*"
- Configure default behavior in
~/.clawdbot/exec-approvals.json:{ "version": 1, "defaults": { "security": "allowlist", "ask": "on-miss" } }
Quick fix for Codex: If Codex is trying to run shell commands, add the commands it uses to your allowlist, or temporarily set security: "ask" to allow everything (less secure).
The macOS app needs to be running for the full approval UI, but CLI management works without it.
FDA = Full Disc Access in Settings > Privacy is already approved!
Ah, important clarification! The "approval UI" in that error message is Clawdbot's own exec approval UI, not a macOS system prompt.
FDA being approved is good for other things (like iMessage access), but the exec approval UI comes from the Clawdbot macOS app itself.
Two options:
-
Run the Clawdbot app + terminal:
- Launch the Clawdbot macOS application normally (from Applications)
- Keep it running in the background
- Then run
clawdbot gateway --verbosein iTerminal - When an exec approval is needed, the app's UI will show the prompt
-
Skip the UI entirely - manage via CLI:
# Set to ask on miss (will log to terminal instead of UI) clawdbot approvals get
Then edit the file directly:
nano ~/.clawdbot/exec-approvals.json
Example for Codex:
{
"version": 1,
"defaults": {
"security": "allowlist",
"ask": "on-miss"
},
"agents": {
"main": {
"allowlist": [
{ "pattern": "/bin/*" },
{ "pattern": "/usr/bin/*" }
]
}
}
}
The simplest fix: Just have the Clawdbot app running when you use Codex. It's the expected workflow - the app handles approvals, the terminal handles the gateway.
I didn't mean the macApp. Clawdbot itself!
Got it! Running from CLI means no approval UI at all.
The problem: Clawdbot's exec approval system tries to show a prompt, but there's no UI in terminal-only mode.
Fix: Pre-configure approvals in ~/.clawdbot/exec-approvals.json
cat ~/.clawdbot/exec-approvals.json
If it doesn't exist or is empty, create it:
nano ~/.clawdbot/exec-approvals.json
Add this for Codex (allows bash commands):
{
"version": 1,
"defaults": {
"security": "allowlist",
"ask": "on-miss"
},
"agents": {
"main": {
"security": "allowlist",
"ask": "on-miss",
"allowlist": [
{ "pattern": "/bin/*" },
{ "pattern": "/usr/bin/*" },
{ "pattern": "/opt/homebrew/bin/*" }
]
}
}
}
Or more permissive for testing:
{
"version": 1,
"defaults": {
"security": "ask",
"ask": "always"
}
}
Then restart the gateway. With "ask" mode, it will log approval requests to the terminal instead of trying to show a UI popup.
The pattern format is argv arrays - you can use * wildcards for commands Codex might run.
Can you give me the link to the docs, Krill?
By the Way: On 2026.1.16-2 no problems with that.
Here are all log-entry related to the topic:
16:53:19 [exec] elevated command (quiet-cr) cd /Users/meik/clawd-jonny && gog auth list 16:55:19 [ws] β res β exec.approval.request 120002ms conn=ecab8491β¦8505 id=af6cd54fβ¦a4ed 16:55:19 [tools] exec failed: exec denied: approval required (approval UI not available)
https://docs.clawd.bot/cli/approvals
Also the exec approvals concept doc:
https://docs.clawd.bot/tools/exec-approvals
Good to know! Something changed between 2026.1.16-2 and 2026.1.20-2.
Check the changelog:
https://docs.clawd.bot/changelog
Or the GitHub releases:
https://github.com/clawdbot/clawdbot/releases
Look for:
- Changes to
execorsystem.run - Changes to Codex integration
- New approval requirements
If you can spot what changed, that would help narrow down whether this is:
- Expected behavior (new feature using exec)
- A regression (bug)
- A config change between versions
Let me know what you find! π¦
That's helpful! The key line:
[ws] β res β exec.approval.request 120002ms
The approval request timed out after 120 seconds waiting for a UI response. When running CLI-only, there's no place to show the approval prompt.
Your options:
- Quick fix - use allowlists:
# Check what's being requested clawdbot approvals get # Allow the specific command pattern
clawdbot approvals allowlist add "cd /Users/meik/clawd-jonny && gog auth list"
-
Restart the gateway after editing approvals, and Codex should work.
-
Alternative: Run the Clawdbot macOS app alongside your terminal session - even if you primarily use CLI, the app handles approvals in the background.
The 120-second timeout suggests this was blocking and waiting for a UI that never came. Pre-configured allowlists bypass this entirely.
Ok, i downgrade to v2026.1.16-2. No issues anymore
Good workaround! That confirms it's a regression in v2026.1.20-2.
Would you mind filing a bug report?
https://github.com/clawdbot/clawdbot/issues
With details:
- Working: v2026.1.16-2
- Broken: v2026.1.20-2
- CLI-only mode (no macOS app)
- Error:
exec denied: approval required (approval UI not available)with 120s timeout
The team should know exec approvals changed behavior in a way that breaks CLI-only setups. Your downgrade is valid until it's fixed! π¦
Kann you give me a template for posting the issue on github?
Here's a ready-to-use template:
Title: Exec approvals regression in v2026.1.20-2 (CLI-only mode)
Description:
On macOS running Clawdbot from terminal without the macOS app, exec.approval.request times out with error:
exec denied: approval required (approval UI not available)
Steps to reproduce:
- Run
clawdbot gateway --verbosefrom terminal (CLI-only, no macOS app) - Use Codex 5.2 agent
- Agent triggers an exec command
- Approval request times out after 120 seconds
Expected behavior:
- Exec approvals should work in CLI-only mode (allowlist management via
clawdbot approvalsCLI) - Or timeout should be configurable
Actual behavior:
- Gateway waits 120s for approval UI that doesn't exist in terminal mode
- Command fails with "approval UI not available"
Environment:
- macOS 26.1
- v2026.1.20-2 (broken)
- v2026.1.16-2 (works)
Workaround:
Downgraded to v2026.1.16-2
Logs:
16:53:19 [exec] elevated command (quiet-cr) cd /Users/meik/clawd-jonny && gog auth list
16:55:19 [ws] β res β exec.approval.request 120002ms conn=ecab8491β¦8505 id=af6cd54fβ¦a4ed
16:55:19 [tools] exec failed: exec denied: approval required (approval UI not available)
Link: https://github.com/clawdbot/clawdbot/issues/new/choose
Just fill in your details and paste! π¦
Bug is reported here: https://github.com/clawdbot/clawdbot/issues/1389
Perfect! π
Thanks for filing that, Jodameister! The team will see it and can investigate what changed between 2026.1.16-2 and 2026.1.20-2 that broke CLI-only exec approvals.
If you want to track it, you can subscribe to the issue for updates. And once it's fixed, you can upgrade again!
Happy to help! π¦
Ok, there is a new approval feature implemented. See the docs: https://docs.clawd.bot/tools/exec-approvals
Thanks for sharing! This is a new safety feature. Here's the quick summary:
Exec Approvals - a safety interlock for agent commands on the host. When enabled:
- Commands need explicit approval unless they match allowlist or
security: full - If approval UI isn't available β falls back to
askFallback(default: deny) - Your error
"approval UI not available"happened because the macOS companion app/Control UI wasn't running to show the prompt
Key settings in ~/.clawdbot/exec-approvals.json:
security: "deny"|"allowlist"|"full"ask: "off"|"on-miss"|"always"askFallback: "deny"|"allowlist"|"full"
For terminal-only users: Either disable approvals via CLI (clawdbot approvals) or add commands to your allowlist to avoid prompts.
The docs also mention a macOS IPC flow is planned where the gateway forwards to the macOS app for approvals β that should help when running purely in terminal.
Good catch linking the docs! π¦
Issue closed