Summary
LOOM should generate Claude Code permission allowlists in the workspace's .claude/settings.json, pre-approving common tool uses so agents can work autonomously without constant permission prompts.
Motivation
Claude Code requires explicit permission for tool uses like running bash commands, editing files, etc. In a LOOM workspace, common operations (building, testing, running linters) are predictable and safe. Pre-approving these permissions means agents can work productively from the first command without the user needing to manually approve each action.
Currently, the generated .claude/settings.local.json only contains additionalDirectories. Permission presets would go in .claude/settings.json (the non-local settings file that can be checked in or shared).
Commands affected
Modules affected
Proposed behavior
Generate a .claude/settings.json in the workspace with a permissions.allow list. The presets could be configurable per workspace or via config.toml, but a sensible default set for development workspaces would include common operations like build commands, test runners, and file operations.
The specifics of which permissions to include by default can be determined during implementation — the key is that the mechanism exists and is extensible.
Acceptance criteria
Related issues / specs
Summary
LOOM should generate Claude Code permission allowlists in the workspace's
.claude/settings.json, pre-approving common tool uses so agents can work autonomously without constant permission prompts.Motivation
Claude Code requires explicit permission for tool uses like running bash commands, editing files, etc. In a LOOM workspace, common operations (building, testing, running linters) are predictable and safe. Pre-approving these permissions means agents can work productively from the first command without the user needing to manually approve each action.
Currently, the generated
.claude/settings.local.jsononly containsadditionalDirectories. Permission presets would go in.claude/settings.json(the non-local settings file that can be checked in or shared).Commands affected
loom newloom addloom removeloom downloom listloom statusloom execloom shellloom saveloom openloom initloom registryModules affected
agentworkspacegitconfigmanifestsynctuiregistrycliProposed behavior
Generate a
.claude/settings.jsonin the workspace with apermissions.allowlist. The presets could be configurable per workspace or viaconfig.toml, but a sensible default set for development workspaces would include common operations like build commands, test runners, and file operations.The specifics of which permissions to include by default can be determined during implementation — the key is that the mechanism exists and is extensible.
Acceptance criteria
loom newgenerates.claude/settings.jsonwith permission allowlistsloom add/loom remove/loom openRelated issues / specs
.claude/settings.local.jsonis generated (withadditionalDirectories)