Quartet / Quintet

2026-09-10  ·  claudecode · 設定 · security · 個人開発 · devops

allow から消したのに、権限が残っていた

あるコマンドの自動承認をやめたくて、~/.claude/settings.jsonpermissions.allow から、その行を消しました。

まだ自動承認されました。

キャッシュでも古い状態でもありません。同じ行がプロジェクトの .claude/settings.json にもあって、リストのキーは上書きではなく合成されるからです。

リストは合成される。他のファイルの項目は誰も消せない

同じリストのキーが複数の設定ファイルにあるとき、Claude Code は両方を合わせます。

// ~/.claude/settings.json
"permissions": { "allow": ["Bash(npm run *)"] }

// .claude/settings.json(リポジトリに commit されているもの)
"permissions": { "allow": ["Bash(git commit *)"] }

// → 両方効く

文書化されている意図は「各ファイルが、他のファイルのものを消さずに追加できる」こと。 妥当な設計で、そしてはっきり書いておく価値のある帰結があります。

どの設定ファイルも、他のファイルから引き算できません。 下の段でも、上の段でも。 自分の行を消すと、消えるのは自分の行だけです。

本当に止めたいなら deny を使うか、追加している側のファイルを直します。

私はしばらく、キャッシュのバグを探していました。

段の順と、実際に役に立つ1行

上から。

1  管理設定                      (組織のポリシー)
2  コマンドライン                (--settings、そのセッションだけ)
3  .claude/settings.local.json
4  .claude/settings.json        (commit されている共有設定)
5  ~/.claude/settings.json

3 が 4 より上です。これは予想していませんでしたが、いまは頼っています。

チームが共有ファイルで決めた値を、settings.local.json自分だけ戻せます。 全員が使うファイルを書き換えずに。

管理設定には勝てません。--settings でも勝てず、 --model組織が許したモデルの中からしか選べません。

環境変数は段ではない

そもそも段に入っていません。そしてどちらが勝つかはキーごとに決まります。

ANTHROPIC_MODEL           どのファイルの model にも勝つ
ANTHROPIC_DEFAULT_MODEL   どのファイルも model を設定していないときだけ

同じ「モデルを決める変数」で、片方は勝ち、片方は譲ります。 一般則として覚えられるものはありません。 対になっているキーごとに確かめます。

設定ファイルのに書いた env ブロックは、ふつうのキーとして5段に従います。

下の段が管理設定に勝つキーが7つ

安全に関わる7つのキーでは、より厳しい値を、 本来なら管理設定に勝てないスコープから拾います。 プロジェクトのファイルから remoteControlAtStartupcrossSessionInbound を、 組織のポリシーに対してでも締められます。

一方向にだけ効きます。 remoteControlAtStartup にプロジェクトから true を書いても無視されます。下から締められて、緩められない。 そして enableArtifact戻せません — 一度どこかで false になったら、 管理設定からでも復活しません。

モデル関係の4キーも合成の規則から外れ、1つのファイルから値をまるごと採ります。 どちらの一覧も参照ページにあります。頭に入れておく価値があるのは、 例外の向きが対称ではないということです。

これを書き留めている理由

どれも、同じ経験を作ります。ファイルを変えた。挙動は変わらない。理由はどこにも出ない。

原因は違います。スコープ、合成、優先順位、環境変数。症状だけが同じ。

そして、これに限っては検査ツールが助けになりません。 どのファイルが読まれるかは実行時に決まるので、 手元のファイルだけでは優先順位が分かりません。

/status は実際に読まれたものを見せます。これに使う道具はそちら。

/status         # どのファイルが読まれたか
claude doctor   # 解決後の設定と、スキップされたルール

5段・合成の例外・7つのキーを1枚にしたものはこちらです。

https://quintetkit.github.io/reference/claude-code-settings-precedence.html


Claude Code に設計・実装・レビューを別々の人格として分担させ、GitHub Issue と ブランチを軸に並列開発を回すための設定一式を MIT で公開しています。 コピーして ./setup.sh を叩けば動きます。技術スタックには依存しません。

https://github.com/quintetkit/quartet

このワークフローだけで実際にツールを 1 つ作りました。Issue の分割から PR、 レビュー、マージまで記録が全部残っています。うまくいかなかった箇所も消していません。

https://github.com/quintetkit/mdlinkcheck

UI 設計人格・レビュー基準・Issue 単位の並列実行スクリプト・実践ガイド 11 章を 足したものは製品ページにあります。

実践ガイド全 11 章は Zenn Book で読めます(¥1,500・2章まで無料)。

https://zenn.dev/quintetkit/books/claude-code-parallel-workflow

設定一式(5人格・スクリプト・ガイド全文)の配布はこちらです。

https://quartet-dev.booth.pm/items/8807156

この運用そのものを配っています

4 人格版 Quartet は MIT で無料公開しています。UI 設計人格・レビュー基準・ Issue 単位の並列実行スクリプト・実践ガイド 11 章を足した Quintet は有料版です。

無料版を見る 製品ページ