-
Notifications
You must be signed in to change notification settings - Fork 0
feat(agent): store Claude Code permission presets in workspace settings #8
Description
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
-
loom new -
loom add -
loom remove -
loom down -
loom list -
loom status -
loom exec -
loom shell -
loom save -
loom open -
loom init -
loom registry - TUI
- New command
Modules affected
-
agent -
workspace -
git -
config -
manifest -
sync -
tui -
registry -
cli
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
-
loom newgenerates.claude/settings.jsonwith permission allowlists - Permissions are regenerated on
loom add/loom remove/loom open - Default presets cover common development operations
- Users can customize presets (via config or workspace-level override)
Related issues / specs
- PRD Feature 9 (Agent Integration) describes the generated agent files
- Currently only
.claude/settings.local.jsonis generated (withadditionalDirectories) - feat(agent): enhance generated CLAUDE.md with workflows, specs, and per-repo config #5: PR workflow instructions (both enhance agent-generated workspace files)
- feat(agent): configure Claude Code marketplaces and plugins in generated settings #13: Plugin/marketplace configuration (both enhance agent-generated workspace settings)