Bcy2020/dsh-cc-ecosystem--packages-cc-permissions ↗★ 1
dsh-cc-permissions
Enforce Claude Code permission rules (.claude/settings.json allow/deny/ask, deny>ask>allow) in DSH via a tools/pre-execute gate. Reads CC settings as a read-only source; DSH-side approvals never write back to .claude.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Bcy2020/dsh-cc-ecosystem#c1725fbd713ecbb823060acfbb32ded25936d15d&path:packages/cc-permissions说明文档
阅读完整 README ↗dsh-cc-permissions
Enforce Claude Code permission rules in DSH.
Reads .claude/settings.json (user ~/.claude, project, and settings.local.json)
through the shared dsh-cc-loader parse layer and folds the rules
deny → ask → allow on every tool call, exactly like Claude Code:
Toolbare deny removes the tool from the model's context (per-agent hide)Tool(spec)scoped rules match commands, paths, domains, params, MCP tools- Bash compound commands are split; wrappers (
timeout,nice,nohup…) and leading env assignments are stripped before matching - Read deny rules also gate Edit/Write tools and Bash file commands
(
cat,head,tail,sed…) askrules route through DSH's approval service
Read-only bridge
CC settings.json is a read-only source. DSH-side approvals ("don't ask
again") are stored in DSH's own config and are never written back to
.claude/settings.local.json — CC, Codex and DSH have different permission
semantics, so cross-tool permission sync is intentionally out of scope
(community agents / cc-suite do not sync permissions either).
Install
dsh plugin --profile add dsh-cc-permissions
Config
| Key | Default | Meaning |
|---|---|---|
enabled | true | Master switch |
hideDeniedTools | true | Bare-name deny → per-agent ctx.tools.restrict |
enableDefaultMode | true | defaultMode=dontAsk → approval policy never |