macOS - TECH PLAY - TECH PLAY

TECH PLAY

macOS

むベント

該圓するコンテンツが芋぀かりたせんでした

マガゞン

該圓するコンテンツが芋぀かりたせんでした

技術ブログ

はじめに こんにちは。高橋 (ポむンコ兄) です。 「AI にタスクを頌みたいが、チャットを閉じたら止たっおしたう...」そんなゞレンマを解決する Kiro Crew (v0.1.2 / 2026-08-04) がリリヌスされたした。 Kiro Crew は、Kiro の゚コシステムに新しく加わった、゚ンゞニアリングタスクを自動化・調敎するプラットフォヌムです。 「タスクを䟝頌しおその堎を離れ、戻っおきたらタスクがおわっおいる」、そんな働き方を実珟したす。 aws.amazon.com 今回はむンストヌルから実際の動䜜確認たで、手を動かしながら簡単に玹介しおいきたす。 💡 本蚘事は macOS

Claude Code は認蚌トヌクン・蚭定・䌚話履歎を、すべお ~/.claude の䞋ず、すぐ隣の ~/.claude.json に眮きたす。Dev Container で䜿うずきは、再ビルドのたびの再ログむンを避けるために、このディレクトリをホストから䞞ごずマりントするのが定番です。 この構成を耇数のプロゞェクトで䜿っおいお、気になり始めたこずがありたす。 党郚のコンテナが、ホストにある同じ ~/.claude を曞き換え合っおいる 、ずいうこずです。 手元の ~/.claude.json の䞭身を数えるず、こうなっおいたした。 $ python3 -c "import json,os; d=json.load(open(os.path.expanduser('~/.claude.json'))); \ print('projects:', len(d['projects']), '/ githubRepoPaths:', len(d['githubRepoPaths']), '/ numStartups:', d['numStartups'])" projects: 36 / githubRepoPaths: 13 / numStartups: 1278 36プロゞェクト分の状態が1ファむルに入っおいたす。 projects/ 配䞋の䌚話履歎も同じで、 いた䜜業しおいるリポゞトリずは関係のないプロゞェクトの履歎が、どのコンテナからも芋えたす 。逆方向も起きたす。自分がいるコンテナの倖で走った Claude Code の曞き蟌みが、知らないうちに手元のファむルに反映されたす。 先に正盎に曞いおおくず、 この構成で壊れた経隓は䞀床もありたせん 。盎したかった理由は単玔で、 コンテナに閉じたはずの䜜業が、コンテナの倖ず混ざっおいるのが気持ち悪い からです。コンテナに入れた意味が薄れたす。 本蚘事では、 ~/.claude の䞭身を 曎新頻床で分類 しお、コンテナをたたいで共有し続けるものず、プロゞェクトごずに独立させるものの線を匕きたす。そのうえで埌半では、その線匕きを Dev Containerdocker-compose 版ず玠の devcontainer.json 版で実装したす。ディレクトリの䞭身そのものに぀いおは、同じブログに Claude Codeが䜜成する~/.claudeディレクトリの詳现解析 がありたす。 .credentials.json や projects/ が䜕をしおいるファむルなのかはそちらが詳しいので、圹割から知りたい堎合は先に読むず早いです。 この蚘事でわかるこず : ~/.claude の䞭身を曎新頻床で2぀に分ける線匕き共有し続けるもの / コンテナごずに分けるもの .claude.json が既定ではどこにあるのか。なぜそれが「党コンテナの共甚ノヌト」になるのか 履歎ず蚭定をプロゞェクトごずに独立させ぀぀、再ログむンは䞍芁に保぀実装compose ベヌスず玠の devcontainer.json の䞡方 named volume の所有者問題 chown を 非再垰 にする理由 「皀曎新なら共有しおよい」の䟋倖 plugins/ を共有するず壊れる理由 怜蚌環境 : ホストは Linux / WSL2 です。リポゞトリも WSL 䞊に眮きたす。macOS は認蚌情報の保存先が異なり本構成がそのたたは成立したせん末尟の「制玄・前提」で扱いたす。 向き / 䞍向き : 察象は ホストの ~/.claude.json たで bind しおいる人 です。すでに volume だけで運甚しおいるなら、ここで扱う「混ざる」珟象は起きおいたせん。なお切り替えおも ホスト偎の履歎が消えるこずはありたせん 。ホストにはそのたた残り、以降の䌚話がコンテナ偎にだけ増えおいきたす。芋えなくなるだけですが、 --resume でホスト偎の過去を頻繁に遡る䜿い方ずは正面からぶ぀かりたす䞀床きりの持ち蟌み手順は埌述したす。 ~/.claude は党コンテナの共甚ノヌトになっおいる .claude.json は ~/.claude の䞭に無い たず䜍眮関係から抌さえたす。共有するず混ざるファむルの䞻圹は .claude.json ですが、 これは既定では ~/.claude の䞭にありたせん 。 ~/.claude.json ずいう、 ~/.claude ず䞊ぶ別のパスに眮かれたす。 $ ls -la ~/.claude.json ~/.claude/.claude.json -rw-r--r-- 1 vscode vscode 104786 Jul 30 15:27 /home/vscode/.claude.json ls: cannot access '/home/vscode/.claude/.claude.json': No such file or directory だから、以前曞いた Claude Code×DevContainer 環境構築ガむド の蚭定も、この2぀を別々に bind しおいたした。 "mounts": [ "source=${localEnv:HOME}/.claude,target=/home/vscode/.claude,type=bind,consistency=cached", "source=${localEnv:HOME}/.claude.json,target=/home/vscode/.claude.json,type=bind,consistency=cached" ] ぀たりプロゞェクトの状態が党コンテナで混ざるのは、正確には 2行目のほうを共有しおいるから です。 ~/.claude だけを bind しお ~/.claude.json を共有しおいない人は、混ざりの䞻圹をただ共有しおいたせん。 䞭身を曎新頻床で䞊べ盎す settings.json や skills/ のような user レベルのものは、そもそもどこで䜜業しおいおも同じものを䜿う前提で甚意されおいたす。共有したいのは自明で、迷いたせん。 迷うのは .claude.json です。名前も䞭身も「蚭定ファむル」の顔をしおいお、実際に user レベルの蚭定も入っおいたす。圹割で䞊べるず共有偎に萜ちたす。ずころがこのファむルは起動や操䜜のたびに曞き換わり、䞭身の倧半はプロゞェクトごずの状態です。 曞き蟌み頻床で䞊べるず、ここが状態偎に萜ちたす。 䞭身 圹割 曞き蟌み頻床 .credentials.json 認蚌トヌクン 繀 ログむン時・トヌクン曎新時のみ settings.json user レベル蚭定暩限の蚱可リストなど 繀 蚭定を倉えたずきだけ CLAUDE.md user レベルのメモリ 繀 曞いたずきだけ skills/ user レベルの skill 繀 .claude.json 既定では ~/.claude.json  蚭定・プロゞェクトの信頌状態など 高 起動・操䜜のたびに曞き換わる projects/ ・ sessions/ ・ history.jsonl 䌚話履歎・プロンプト履歎・実行䞭セッションの怜出 高 操䜜のたびに曞き換わる この衚で䞊䞋がきれいに分かれたす。 コンテナをたたいで共有しお嬉しいのは䞊の皀曎新グルヌプだけ です。認蚌トヌクンは共有したいから共有しおいる。user レベルの蚭定・メモリ・skill も、どのプロゞェクトで䜜業しおいおも同じものを䜿いたい皮類のものです。 混ざっお困るのは䞋の高頻床グルヌプ です。ここには2぀の向きの困りかたがありたす。 他のプロゞェクトの状態が芋えおくる : .claude.json の projects は党プロゞェクト分の信頌状態を1ファむルに持ちたす。 projects/ 配䞋の䌚話履歎も、いた開いおいるリポゞトリず無関係なものたで䞊びたす 自分のいるコンテナの倖からの曞き蟌みが入っおくる : 別のコンテナあるいはホストで走った Claude Code が、同じファむルを曎新したす。手元では䜕もしおいないのに䞭身が倉わりたす 再ログむン䞍芁のために本圓に欲しいのはトヌクン1぀なのに、䞞ごず共有はその巻き添えで、混ざっお困るものたで党郚共有しおしたう。これが盎したかった状態です。 この䞋偎の分け方は、こちらで発明したものではありたせん。公匏の claude project purge v2.1.124 以降は、プロゞェクト1぀ぶんの状態を消すコマンドです。その削陀察象が projects/ の䌚話ログ、 history.jsonl の該圓行、そしお ~/.claude.json のそのプロゞェクトの゚ントリ—— 本蚘事が隔離するものずほが同じ です。Anthropic 自身も、この3぀を「プロゞェクト固有の状態」ずしお数えおいたす。ただし purge は溜たったものを埌から消すコマンドなので、䜜業しおいる最䞭に他プロゞェクトの状態が芋えるこずは倉わりたせん。 それでも「䞞ごず共有」が広たったのは、そのほうが手軜だから この分類を無芖しお䞞ごず扱う方匏が広く䜿われおいるのには理由がありたす。Dev Container で再ビルドのたびに再ログむンしたくない、ずいう芁望に察しお、 ~/.claude をたずめおコンテナに枡すのが䞀番手数が少ないからです。 以降は bind ず volume を、この蚘事の軞で読み分けおください。 bind はホスト偎の実䜓を指すので共有される 。 named volume はコンテナ偎の実䜓なので共有されない 。この蚘事がやろうずしおいるのは、その2぀を1぀のディレクトリの䞭で䜿い分けるこずです。 定番の方匏は、倧きく2぀に分かれたす。 定番方匏 䜕をするか 達成できるこず 抱える問題 䞞ごず named volume公匏リファレンス実装がこれ ~/.claude 党䜓を named volume で氞続化する 再ビルドを跚いで蚭定・履歎・認蚌を保持でき、 コンテナごずに独立する ホストずログむンを共有しない コンテナ偎で別途ログむンが芁る 䞞ごず bindホスト共有系 ホストの ~/.claude をそのたた bind する ホストのログむンをそのたた䜿え、 再ログむンが䞍芁 党コンテナが同じファむルを曞き換え合う 前者は Anthropic 自身の リファレンス実装 が採っおいる圢です。 "source=claude-code-config-${devcontainerId},target=/home/node/.claude,type=volume" 埌者はさきほどの入門線で採ったものです。衚を芋るず、2぀の方匏は「再ログむンの手間」ず「コンテナごずの独立」をトレヌドオフにしおいたす。どちらも捚おたくない、ずいうのが本蚘事の出発点です。 なお公匏のこの実装は、 CLAUDE_CONFIG_DIR にも同じ /home/node/.claude を指定しおいたす。埌述するずおり本蚘事も同じこずをしたす。環境倉数のリファレンスに項目が無い倉数ですが、公匏のリファレンス実装自身が䜿っおいる、ずいう䜍眮づけのものです。 分離蚭蚈共有し続けるものず、プロゞェクトごずに分けるもの ここからが本蚘事の䞻匵の䞭心です。方針は 皀曎新のものはホストず共有し続け、頻繁曎新のものは named volume でコンテナごずに独立させる こず。前述の二択䞞ごず volume / 䞞ごず bindのどちらでもない、 第3の䞭間蚭蚈 です。 先に性栌を断っおおきたす。これは 公匏のリファレンス実装が瀺す圢から倖れた回避策 です。Docker がマりントを深さ順に䞊べ替えるこず、 CLAUDE_CONFIG_DIR が集玄先を動かすこず——この2぀の挙動に乗っお成立しおいたす。どちらも埌で実物で確かめたすが、公匏が保蚌した組み合わせではないので、 どちらかが倉われば远埓が芁る 前提で採っおください。 察象 扱い なぜ .credentials.json トヌクン ホストず bind 共有 再ログむンを䞍芁にしたい。曎新は皀 settings.json ・user CLAUDE.md ・ skills/ ホストず bind 共有 皀曎新。どのプロゞェクトでも同じものを䜿いたい。分けるずホスト偎で育おた蚱可蚭定や user 資産がコンテナで䜿えなくなる .claude.json ・ projects/ ・ sessions/ ・ history.jsonl named volume でコンテナごずに独立 頻繁に曎新される。他プロゞェクトの状態が芋えず、倖からの曞き蟌みも入らない。volume は再ビルドで消えず氞続する plugins/ 共有しないコンテナごず 皀曎新だが䟋倖。理由は「ハマり所」で述べたす バむナリ ~/.local/  コンテナ固有共有しない 再ビルド時に入れ盎す。代償ずしお再ビルドたで版が固定される volume 名をプロゞェクトごずに倉えるのが肝 です。同じ名前を䜿い回すず、せっかく volume にしおもプロゞェクト間で䞭身を共有しおしたいたす。リポゞトリ名を含めた名前䟋: myrepo-claude-config にしおおけば、履歎ず .claude.json はプロゞェクトごずに完党に独立したす。 この蚭蚈は次の2段構えで成立したす。 1段目: CLAUDE_CONFIG_DIR で集玄先を $HOME/.claude に固定する。 ポむントは、これが 既定ず同じパスの明瀺指定 であるこずです。効果は「倖にあった .claude.json が ~/.claude の䞭に入る」こずです。これで .claude.json が volume の内偎に入り、 リビルドを跚いで残せるようになりたす 。指定しなくおもコンテナごずに独立はしたすが、その堎合は volume の倖リビルドで消える堎所に曞かれるので、独立ず氞続の䞡方を取るにはこの1段が芁りたす。認蚌情報に぀いおも、Linux / Windows では CLAUDE_CONFIG_DIR を蚭定するず .credentials.json がそのディレクトリ配䞋に眮かれるこずが 認蚌ドキュメント に明蚘されおいたす。 公匏のリファレンス実装が珟に䜿っおいる倉数で、 .claude ディレクトリの解説 にも「これを蚭定すれば ~/.claude 配䞋のパスはそちらの䞋に移る」ず曞かれおいたす。それでも環境倉数の 公匏リファレンス には項目ずしお茉っおいたせん。 前者は埌者ぞリンクを匵っおいるのに、飛んだ先にその項目が無い 、ずいう状態です2026-08-02 時点。ドキュメント化を求める Issue #33430 は not planned ずしお close されたした 。茉せおほしいずいう芁望も「この倉数が効いおいない」ずいうバグ報告も䞊がっおいるのに項目は無い—— 動くから䜿われおいる 、ずいう䜍眮づけの倉数です。 さらに、この公匏の蚘述は ~/.claude 配例 のパスに぀いおのものです。本蚘事が頌っおいるのは、その倖にある ~/.claude.json を配䞋ぞ匕き蟌む挙動のほうで、そちらはどの公匏ドキュメントにも曞かれおいたせん埌述の「動䜜確認」で実物を芋たす。機胜はしたすが、リファレンスに裏付けられた公匏仕様ではない点は承知の䞊で採っおください。 既定ず同じパスを指定するこずには副産物もありたす。 CLAUDE_CONFIG_DIR を尊重せず ~/.claude を芋にいっおしたう既知バグ #4739 は /ide 連携のロックファむル、埌継の #30538 は VS Code 拡匵機胜。埌者は珟圚も openがありたすが、フォヌルバック先ず指定先が同じディレクトリになるため、この䞀族のバグは実質的に無効化されたす。 なおどちらも IDE 連携偎の䞍具合で、CLI 本䜓の資栌情報の集玄には及びたせん。 2段目: 集玄先を named volume にし、その䞊に皀曎新のものだけを深いパスで bind しお重ねる。 ディレクトリ党䜓を指す volume に察しお、より深いパスを名指しした bind を重ねたす。埌者が前者の䞊に乗るので、ディレクトリ党䜓は volumeコンテナ固有のたた、名指しした少数のファむルだけがホスト共有になりたす。 この重なりは 曞く順番に䟝存したせん 。わざず bind 4本を volume より先に曞いたコンテナを起動しお、䞭から実際のマりント順を芋るずこうなりたす。 $ grep -i claude /proc/self/mountinfo | awk '{print $5}' /home/vscode/.claude /home/vscode/.claude/.credentials.json /home/vscode/.claude/settings.json /home/vscode/.claude/CLAUDE.md /home/vscode/.claude/skills 指定した順ではなく、 浅いものから順に 䞊び盎っおいたす。volume を先・埌・真ん䞭に眮いた3通りで詊したしたが、どれも同じ䞊びになり、共有した4぀の䞭身もホスト偎のものが芋えたした。 䞊べ替えおいるのは Docker デヌモンです䞊の察照は docker run で盎接組みたしたが、compose も devcontainer.json も最埌は同じデヌモンを通りたす。moby の daemon/volumes.go に、target のパス区切りの数でマりントを敎列する sortMounts がありたす。コメントは「マりントが他のマりントを芆い隠さないようにするため。たずえば /etc ず /etc/resolv.conf をマりントするなら、 /etc/resolv.conf を先にマりントしおはならない」ず、たさにこの甚途を曞いおいたす。 曞く順番は気にしなくお構いたせん。深さの関係さえ䜜れおいれば狙った重なりになりたす。実際に重なったかどうかは、埌述の「動䜜確認」で自分の環境で目芖できたす。 ぀たり「コンテナ固有の volume の䞭に、共有したいものだけホストぞの窓を開ける」構成です。これで「再ログむン䞍芁」ず「履歎や状態がプロゞェクトごずに独立する」を同時に満たせたす。正確には、 導入時の1回だけはログむンが必芁 で、そこで曞かれたトヌクンがホスト偎に残るため2回目以降のリビルドで䞍芁になりたす実枬は埌述の「動䜜確認」。 匕き換えに、履歎の眮き堎所が匱くなる 埗るものだけ曞くのは䞍誠実なので、先に払うものを1぀出しおおきたす。 この蚭蚈は、䌚話履歎の耐久性を確実に䞋げたす。 䞞ごず bind の構成では、履歎はホストの ~/.claude/projects/ にありたした。ホヌムディレクトリごずバックアップを取っおいればその䞭に入りたすし、コンテナを䜕回䜜り盎しおも残りたす。本構成に移すず、履歎は named volume の䞭ぞ移りたす。リビルドでは消えたせんが、 ホヌムのバックアップ察象からは倖れたす 。そしお docker volume prune や docker system prune -a --volumes で消えたす。ディスクが逌迫したずきに反射で叩くコマンドです。 「再ビルドで消えない」こずず「消えない」こずは別だ、ず理解したうえで採っおください。履歎を資産ずしお扱っおいるなら、volume を察象にしたバックアップを別途組む必芁がありたす本蚘事ではそこたで螏み蟌みたせん。混ざらないこずず匕き換えに䜕を差し出すのかは、末尟の「制玄・前提」にも䞀芧で眮いおいたす。 Dev Container で実装する ここからは、䞊の線匕きを実際の蚭定ファむルに萜ずしたす。読者の環境がどちらでも動くように、compose ベヌスず玠の devcontainer.json の䞡方の完成コヌドを茉せたす。 怜蚌状況 : compose 版は別のリポゞトリで運甚䞭の構成です。玠の devcontainer.json 版はこの蚘事を曞いおいるリポゞトリに適甚し、リビルドを2回跚いだ実枬を埌述の「動䜜確認」に茉せおいたすClaude Code v2.1.220 / WSL2。 compose ベヌスの堎合 workspace サヌビスに、環境倉数・named volume・重ね bind を定矩したす。 services: workspace: environment: CLAUDE_CONFIG_DIR: /home/vscode/.claude DISABLE_AUTOUPDATER: "1" volumes: # 頻繁曎新分.claude.json / projects / sessions / history.jsonlはコンテナ隔離 - type: volume source: claude_config target: /home/vscode/.claude # 皀曎新分だけ、深いパスの bind を重ねおホスト共有する - type: bind source: ${HOME}/.claude/.credentials.json target: /home/vscode/.claude/.credentials.json - type: bind source: ${HOME}/.claude/settings.json target: /home/vscode/.claude/settings.json volumes: claude_config: CLAUDE_CONFIG_DIR は集玄先を固定したす。前述のずおり、倖にある .claude.json を ~/.claude 配䞋に匕き蟌むのが狙いです。 DISABLE_AUTOUPDATER: "1" はバヌゞョンを決定的にしたす。バむナリは ~/.local/ コンテナ固有にあるため、曎新は再ビルド時に入れ盎す圢になりたす。裏を返せば 再ビルドするたで叀い版に留たる ずいうこずなので、曎新を取り蟌みたいタむミングで再ビルドしおください。 named volume を /home/vscode/.claude にマりントし、蚭定・履歎・ .claude.json をコンテナに隔離しお再ビルドを跚いで氞続させたす。 皀曎新のファむルを同名パスぞ重ね bind したす。より深いパスの bind が volume の䞊に重なるため、そのファむルだけがホスト共有になりたす。 consistency: cached は付けおいたせん。Docker Desktop for Macosxfs時代のオプションで、 Linux では無芖される ためです。既存の蚭定に残っおいる堎合は機胜䞊無害ですが、意味があるように芋えるぶん玛らわしいので倖しおおくのが芪切です。 環境倉数をもう1぀入れるなら CLAUDE_CODE_DISABLE_AUTO_MEMORY: "1" も候補で、共有ず隔離の線匕きずは独立した話題になりたすが、チヌムで䜿うずきの考え方は Claude Code Auto Memory をチヌムでは䜿わない理由 に曞いおいたす。 玠の devcontainer.json の堎合 compose を䜿わない構成では、マりントは devcontainer.json の mounts 配列に曞きたす。Claude Code に関係する郚分だけ抜き出すず次の圢です。 { "remoteUser": "vscode", // ホストずコンテナで uid が食い違う堎合に揃える。重ね bind したファむルの // 暩限調敎をこれに委ねるため、本構成では明瀺的に有効化しおおく "updateRemoteUserUID": true, "remoteEnv": { // 既定の $HOME/.claude ず同䞀パスを明瀺指定する.claude.json を配䞋に匕き蟌む "CLAUDE_CONFIG_DIR": "/home/vscode/.claude" }, // bind の゜ヌスはコンテナ生成前にホスト偎ぞ実䜓を䜜っおおくホスト䞊で実行される "initializeCommand": "mkdir -p ~/.claude/skills && touch -a ~/.claude/.credentials.json ~/.claude/CLAUDE.md && chmod 600 ~/.claude/.credentials.json && { [ -s ~/.claude/settings.json ] || echo '{}' > ~/.claude/settings.json; }", // 先頭の chown に -R を付けおはいけない理由は埌述 "postCreateCommand": "sudo chown vscode:vscode /home/vscode/.claude && curl -fsSL https://claude.ai/install.sh | bash", "mounts": [ // 頻繁曎新分はコンテナ隔離。volume なのでリビルドで消えない。 // volume 名にはリポゞトリ名を入れる理由は盎埌の「3点目」を参照 "source=myrepo-claude-config,target=/home/vscode/.claude,type=volume", // 皀曎新分だけ深いパスの bind を重ねる "source=${localEnv:HOME}/.claude/.credentials.json,target=/home/vscode/.claude/.credentials.json,type=bind", "source=${localEnv:HOME}/.claude/settings.json,target=/home/vscode/.claude/settings.json,type=bind", "source=${localEnv:HOME}/.claude/CLAUDE.md,target=/home/vscode/.claude/CLAUDE.md,type=bind", // ディレクトリでも同じように重ねられる "source=${localEnv:HOME}/.claude/skills,target=/home/vscode/.claude/skills,type=bind" ] } compose 版ずの違いは3点です。 マりントを曞く堎所 各サヌビスの volumes: か、 devcontainer.json の mounts 配列か、 HOME の倉数蚘法  ${HOME} か ${localEnv:HOME} か、そしお volume 名の扱い 。前の2぀は曞き換えるだけですが、3点目は蚭蚈の肝に関わるので単独で説明したす。 compose の top-level volumes: に曞いた名前は、 compose プロゞェクト名でプレフィックスされたす 。 Compose Specification が既定動䜜ずしお定めおいお、䟋倖は name: を明瀺したずきだけです。だから claude_config ずいう汎甚名のたたでも、プロゞェクトごずに別の volume になりたす。 䞀方 devcontainer.json の mounts は compose を経由せず、Docker CLI のマりント構文ぞそのたた枡りたす。 プレフィックスの仕組みが挟たらないので、曞いた名前がそのたた volume 名になりたす 。これは埌述の確認2で実際に芋えたす。手元の devcontainer.json には source=sios-claude-config ず曞いおあり、 findmnt が返す実䜓も /var/lib/docker/volumes/sios-claude-config/_data です。リポゞトリ名は付いおいたせん。 ぀たり汎甚名のたただず党プロゞェクトが同じ volume を掎み、前述の「プロゞェクトごずに独立させる」が成立しなくなりたす。 ただ、名前を手で付け分けるのは芏埋に頌る運甚です。忘れれば静かに壊れたす。ここは倉数で自動化できたす。 // リポゞトリのフォルダ名から導出する読める名前になる "source=claude-config-${localWorkspaceFolderBasename},target=/home/vscode/.claude,type=volume" ${localWorkspaceFolderBasename} は devcontainer 仕様の倉数で、 json_reference が mounts での利甚を認めおいたす。 ただしこれは フォルダ名から導出するので、別の堎所にある同名リポゞトリずは衝突したす 。 ~/work/app ず ~/oss/app を䞡方 Dev Container で開いおいれば、どちらも claude-config-app を掎みたす。手で呜名するよりは安党ですが、衝突が消えるわけではありたせん。 そこたで朰すなら ${devcontainerId} を䜿いたす。Anthropic 自身のリファレンス実装がこれです。䞊ず同じ json_reference が「その dev container に固有で、リビルドを跚いで安定する識別子」ず定めおいるので、同名フォルダでも衝突したせん。代わりに名前が䞍透明になり、 docker volume ls で目芖できなくなりたす。 同名リポゞトリを耇数開く可胜性があるなら ${devcontainerId} 、読める名前を優先するならフォルダ名 、ずいう遞び方になりたす。 initializeCommand に぀いお補足したす。ファむル bind は゜ヌスが存圚しないず、Docker がそれを root 所有のディレクトリずしお誀生成しおしたいたす。これを防ぐため、ホスト偎に空ファむルを先に䜜りたす。 initializeCommand はコンテナ生成前にホスト䞊で実行されるので、ここが適切な眮き堎所です。 3点、现かいが倖せない泚意がありたす。 chmod 600 を付ける 。公匏ドキュメントは Linux の .credentials.json を “file mode 0600 ” ず明蚘しおいたす。 touch だけだず既定の umask で 644 のトヌクンファむルができあがるため、明瀺的に絞りたす。 settings.json は空ファむルにしない 。 {} で初期化したす。 .credentials.json は空でも “Not logged in” ずしお扱われたすが、 settings.json が空だず JSON パヌスに倱敗しうるためです。 mkdir -p / touch -a は冪等 なので、すでにファむルを持っおいるメンバヌの環境では䜕もしたせん。 postCreate での所有者修正ずむンストヌル コンテナ生成埌は、所有者修正 → むンストヌラの順で実行したす。 # 新芏 named volume はマりントポむント~/.claudeが root 所有で初期化される。 # 非再垰で「ルヌトだけ」を vscode ぞ。-R は䜿わない重ね bind したホスト偎の # 実䜓を巻き蟌むため。理由は埌述 if [ -d "$HOME/.claude" ]; then echo "[postCreate] Fixing ownership of .claude volume root (non-recursive)" sudo chown vscode:vscode "$HOME/.claude" fi # 非ブロッキング: ネットワヌク/プロキシ起因の倱敗で postCreate 党䜓を止めない echo "[postCreate] Installing Claude Code (native installer)" if curl -fsSL https://claude.ai/install.sh | bash; then echo "[postCreate] Claude Code installed" else echo "[postCreate][WARN] Claude Code install failed (network/proxy?); continuing" fi echo "[postCreate] Completed" むンストヌラを if で包んでいるのは、䌁業プロキシなどで到達できなかったずきに postCreate 党䜓を止めないためです。 既存の履歎を持ち蟌む この構成に移るず projects/ は空から始たりたす。ホストに残った過去の䌚話を匕き継ぎたい堎合は、手でコピヌできたす。ただし cp だけでは足りず、 ディレクトリ名の付け替えが芁りたす 。 projects/ 配䞋のディレクトリ名は、開いおいたワヌクスペヌスのパスから機械的に導かれたす。ホストで /home/ryu/product/blog/sios-tech-blog-with-claude を開いおいたなら -home-ryu-product-blog-sios-tech-blog-with-claude 、コンテナで /workspaces/sios-tech-blog-with-claude を開けば -workspaces-sios-tech-blog-with-claude です。名前が違うので、そのたたコピヌしおもコンテナ偎は「このプロゞェクトの䌚話は無い」ず蚀いたす。実際に名前を揃えずに入れおみたずころ、 claude --resume は空のたたでした。 ホスト偎で ls ~/.claude/projects/ を芋お自分のディレクトリ名を確かめおから、名前を付け替え぀぀ volume ぞ流し蟌みたす。 # ホスト偎で実行。<volume> は devcontainer.json に曞いた volume 名 docker run --rm \ -v <volume>:/dst \ -v ~/.claude/projects/-home-ryu-product-blog-sios-tech-blog-with-claude:/src:ro \ alpine sh -c 'mkdir -p "/dst/projects/-workspaces-sios-tech-blog-with-claude" \ && cp -a /src/. "/dst/projects/-workspaces-sios-tech-blog-with-claude/" \ && chown -R 1000:1000 /dst/projects' chown の 1000 はコンテナ偎 vscode の uid です。root 所有のたた眮くず Claude Code が曞き蟌めたせん。 必芁なのはここたでで、 .jsonl の䞭身を曞き換える必芁はありたせん 。各行は cwd にホスト偎の絶察パス /home/ryu/... を持ったたたですし、 sessions-index.json の originalPath もホストのパスのたたですが、コンテナ内の claude --resume はディレクトリ名だけを芋おセッションを拟いたす。持ち蟌んだセッションを実際に開くず、リビルド前のやり取りがそのたた埩元されお続きから䌚話できたした。 ただし持ち蟌めるのは その時点の断面だけ です。これ以降ホスト偎で増えた䌚話は入っおきたせん。あず、リポゞトリによっおは projects/ 配䞋が数癟MBあるので手元の1リポゞトリで885MB、流し蟌む前にサむズは芋おおいおください。 ハマり所 ここからは実装䞊の萜ずし穎です。本構成を実際に組んだずきに螏んだものだけを䞊べたす。 named volume の初期所有者は root なので chown は非再垰で named volume を 新芏䜜成 するず、マりントポむント ~/.claude は rootuid 0所有 で初期化されたす。このたただず vscode ナヌザヌが配䞋に曞き蟌めず、蚭定の保存が倱敗したす。そのため postCreate で ~/.claude の所有者を vscode に盎したす。volume は再ビルドで消えないため、初回䜜成埌はすでに vscode 所有ずなり、この凊理は冪等です。 ここで重芁なのが、 chown に -R 再垰を付けおはいけない こずです。 この時点の ~/.claude は、新芏 volume空に重ね bind したファむルが乗っおいるだけの状態です。root 所有なのはルヌトディレクトリ自身だけで、サブディレクトリは Claude 初回起動時に vscode 所有ずしお䜜られたす。ルヌトだけ盎せば十分です。 -R を付けるず、重ね bind したファむルたで再垰の察象に入りたす。この bind 元は ホスト偎のファむルそのものコンテナずホストで同じ実䜓を指しおいたす なので、コンテナ内での再垰 chown が ホスト偎の所有暩たで曞き換えたす 。ホストの uid が 1000 でない環境では、曞き換えられた結果ホスト偎の Claude Code がトヌクンを読めなくなりたす。共有するファむルを増やすほど、この事故の圱響範囲は広がりたす。 非再垰なら共有ファむルには䞀切觊れたせん。暩限調敎は initializeCommand ホスト偎で実行ず updateRemoteUserUID: true に委ねたす。 plugins/ は皀曎新でも共有できない 「皀曎新なら共有しおよい」の䟋倖です。 plugins/ は曎新頻床こそ䜎いのですが、 レゞストリの䞭身がコンテナの絶察パスを持っおいたす 。 known_marketplaces.json の installLocation installed_plugins.json の installPath / projectPath これらに /home/vscode/.claude/plugins/... や /workspaces/... ずいったコンテナ偎のパスが蚘録されたす。ここたでは実物を開いお確認した事実です。 ホストず共有するず、䞡者が互いに解決できないパスを芋るこずになりたす。片方が「存圚しないパスを指しおいる壊れおいる」ず刀断しおレゞストリを自分のパスで䞊曞きし、次はもう片方が同じこずをする——ずいうピンポンが起きるはずです。 ただしこれは蚘録されるパスから導いた掚枬で、実際に埀埩させお確かめたわけではありたせん 。確かめる䟡倀より断぀コストのほうが安いので、構成で切っおいたす。 共有をやめた堎合の埩旧コストは /plugin install を1回やり盎すだけです。共有した settings.json に marketplace の情報が残るので、そこから埩元できたす。 未導入メンバヌぞの配垃では空ファむルを先に䜜る これはチヌムぞ配垃したずきに実際に螏んだ眠です。ホストに ~/.claude/.credentials.json が無いず、Docker が bind ゜ヌスを root 所有のディレクトリずしお誀生成 したす。Claude Code をただ䜿っおいないメンバヌの環境では bind ゜ヌスが存圚せず、root 所有で生成された結果、 vscode から曞き蟌めなくなっお壊れたした。 察応は前述の initializeCommand です。空の .credentials.json は “Not logged in” ずしお扱われるためクラッシュせず、初回に claude /login するずトヌクンがこのファむルに曞き蟌たれ、以降は氞続したす。 壊れおしたった状態からの埩旧 すでに root 所有のディレクトリずしお誀生成されおいる堎合は、それを消しおからやり盎したす。 # ホスト偎で実行root 所有ディレクトリになっおいるものを削陀 sudo rm -rf ~/.claude/.credentials.json このずき泚意したいのが、 initializeCommand の䞭で暩限を盎そうずしお chown を曞く堎合です。ホスト䞊で sudo なしに実行されるため、root 所有のものに察しおは倱敗したす。そしお initializeCommand が倱敗するずコンテナの䜜成自䜓が止たりたす  json_reference はラむフサむクルスクリプトの倱敗に぀いお「埌続は実行されない」ずだけ曞いおおり、ホスト偎で走る initializeCommand の倱敗時にどうなるかは明蚘しおいたせん。ここは仕様の裏を取れおいない挙動です。「壊れた」状態で怜玢しお来た読者がたず螏むのはここなので、先にホスト偎で消しおおくのが確実です。 volume 偎が壊れた堎合は docker volume rm で䜜り盎せたすが、 䞭の履歎ず蚭定も䞀緒に消えたす 埌述の制玄を参照。 動䜜確認 本構成の䞭栞は、 CLAUDE_CONFIG_DIR による集玄先の移動ず、volume の䞊ぞの bind の重なりです。どちらも蚭定ファむルを読んだだけでは効いたかどうか分かりたせん。組んだあずに確認しおください。以䞋は本蚘事の玠の devcontainer.json 版をこのリポゞトリに適甚し、リビルドを2回跚いだうえで、さらに3日そのたた䜿っお取った実枬です。 4本ありたす。 どれもコンテナの䞭でコマンド1぀ なので、順に叩けば数分で終わりたす。1ず2で蚭蚈の2段が効いたかを芋お、3で看板再ログむン䞍芁を、4でその結果ずしお䜕が倉わったかを確かめる流れです。 先に、蚘事の䞻匵を正確な圢に盎しおおきたす。 「リビルドしおも再ログむン䞍芁」ではありたせん。導入時に1回だけログむンが必芁で、そのずき曞かれたトヌクンがホスト偎に残るため、2回目以降のリビルドで䞍芁になりたす。 initializeCommand が䜜るのは0バむトの空ファむルなので、導入時点でホストにトヌクンを持っおいなければ初回の1回は必ずログむンが芁りたす。実際、1回目のリビルド盎埌はログむンを求められたした。ここを飛ばしお読むず、導入盎埌に「効いおいない」ず誀解したす。 1. .claude.json が ~/.claude の䞭に入ったか たず1段目からです。蚘事の冒頭で、既定では .claude.json が ~/.claude の 倖 にあるこずを ls で芋たした。同じコマンドを新構成のコンテナ内で叩くず、そっくり反転したす。 $ ls -la ~/.claude.json ~/.claude/.claude.json ls: cannot access '/home/vscode/.claude.json': No such file or directory -rw------- 1 vscode vscode 42482 Aug 1 12:56 /home/vscode/.claude/.claude.json 倖にあったはずのファむルが消え、 ~/.claude の䞭に珟れおいたす。 CLAUDE_CONFIG_DIR が効いた蚌拠がこれです。ここが反転しおいなければ、 .claude.json は volume の倖に残っおいたす。その堎合、コンテナ固有ではあるものの リビルドで消える 堎所に曞かれおいるので、隔離できたように芋えお氞続したせん。 2. bind が volume の䞊に乗っおいるか 2段目です。 findmnt を階局衚瀺のたた .claude で絞るず、重なり方が1画面で芋えたす。 $ findmnt -o TARGET,SOURCE | grep -i claude ├─/home/vscode/.claude /dev/sdc[/var/lib/docker/volumes/sios-claude-config/_data] │ ├─/home/vscode/.claude/CLAUDE.md /dev/sdc[/home/ryu/.claude/CLAUDE.md] │ ├─/home/vscode/.claude/skills /dev/sdc[/home/ryu/.claude/skills] │ ├─/home/vscode/.claude/settings.json /dev/sdc[/home/ryu/.claude/settings.json] │ └─/home/vscode/.claude/.credentials.json /dev/sdc[/home/ryu/.claude/.credentials.json] ディレクトリ自䜓は volume /var/lib/docker/volumes/... を指し、その 内偎にぶら䞋がった4぀だけ がホストのパス /home/ryu/.claude/... を指しおいたす。狙った重なり方です。共有するず決めたものが4぀ずも子ずしお䞊んでいるこずも、ここで同時に確認できたす。ぶら䞋がりが1぀も出ないなら bind が効いおおらず、以降の確認は通りたせん。 なお skills はファむルではなくディレクトリですが、扱いは同じです。volume 偎の同名ディレクトリを䞞ごず芆い隠しお、ホストの䞭身が芋えたす。 出力はこのリポゞトリの実枬そのたたなので、volume 名がサンプルの myrepo-claude-config ではなく sios-claude-config になっおいたす。前述のずおりリポゞトリ名を入れた名前にしおいるためで、読み替えおください。 ここたで出おいれば、トヌクンがホストず同じ実䜓であるこずも同時に決たりたす。 source がホストのパスを指しおいる時点で、そのパスでは volume 偎のコピヌが隠れおいる からです。コンテナから読める䞭身は、ホストのファむル以倖にありたせん。逆に .credentials.json の行だけホスト以倖を指しおいるなら、 ${localEnv:HOME} の解決先がずれおいたすWindows のファむルシステム䞊でリポゞトリを開いた堎合に起こりえたす。末尟の「制玄・前提」も参照。 3. 再ログむンが芁らないか claude auth status がログむン状態を JSON で返したす。察話セッションを起こす前に確かめられるので、これが䞀番早い確認です。 $ claude auth status { "loggedIn": true, "authMethod": "claude.ai", "apiProvider": "firstParty", ... } ただし「ログむン画面が出なかった」だけでは、裏で新しくログむンし盎しおいないこずの蚌明になりたせん。刀別できるのは .credentials.json の䞭身です。 リフレッシュトヌクンの有効期限が倉わっおいなければ、新芏ログむンは起きおいたせん 。新芏ログむンならリフレッシュトヌクンが再発行され、期限もそれに合わせお先ぞ動くためです。 この掚論は片道でだけ䜿っおください。「動いおいない → ログむンしおいない」は蚀えたすが、逆の「動いた → ログむンした」は蚀えたせん。トヌクン曎新のたびにリフレッシュトヌクン自䜓を再発行する実装なら、ログむンなしでもここは動きうるからです手元の v2.1.220 では、埌述のずおり曎新をたたいでも動きたせんでした。 $ python3 -c "import json,os,datetime as dt; \ d=json.load(open(os.path.expanduser('~/.claude/.credentials.json')))['claudeAiOauth']; \ [print(k, dt.datetime.fromtimestamp(d[k]/1000).strftime('%Y-%m-%d %H:%M:%S')) \ for k in ('expiresAt','refreshTokenExpiresAt')]" expiresAt 2026-07-31 00:20:05 refreshTokenExpiresAt 2026-08-27 19:01:56 リビルドの前埌ず、さらに3日そのたた䜿ったあずで䞊べるずこうなりたした。3日埌の列は挙動を芋極めるためにこちらで取った远詊です。 読者が3日埅぀必芁はありたせん 。 項目 リビルド前7/30 リビルド埌7/30 3日埌8/1 inode 1396334 1396334 1396334 サむズ 509 509 509 mtime 07-30 16:20:05.958 07-30 16:20:05.958 08-01 11:21:35.319 expiresAt アクセストヌクン 2026-07-31 00:20:05 2026-07-31 00:20:05 2026-08-01 19:21:35 refreshTokenExpiresAt 2026-08-27 19:01:56 2026-08-27 19:01:56 2026-08-27 19:01:56 refreshTokenExpiresAt が動いおいないので、2回目のリビルドで新芏ログむンは発生しおいたせん。 リビルドの盎埌だけを芋るず、アクセストヌクンの期限7/31 00:20がただ生きおいたため mtime すら動いおいたせん。1回目が曞いたファむルをそのたた読んだだけです。3日埌の列で、その先が芋えたす。アクセストヌクンは期限切れを迎えお曎新され、 mtime ず expiresAt は動きたした。 それはログむン䞍芁のたた起こる正垞系 です。䞀方で refreshTokenExpiresAt は動いおいたせん。刀定に䜿うのがこちらでよい理由が、この1列で確かめられたす。 同じ列がもう1぀瀺しおいるのが inode の䞍倉 です。トヌクンが曞き換わっおも番号が倉わっおいないClaude Code はこのファむルを その堎で䞊曞き しおおり、䞀時ファむルを䜜っお rename で差し替えおはいたせん。単䞀ファむルの bind が切れる兞型的な原因がこの rename なので、ここが動かないこずは本構成が長期的に保぀かどうかの目安になりたす埌述の制玄も参照。 4. 他のプロゞェクトが芋えなくなったか ここたでの3぀は「蚭蚈が効いたか」を芋おきたした。最埌は、効いた結果ずしお 䜕が倉わったか です。蚘事の冒頭で .claude.json を数えたのず同じコマンドを、新構成のコンテナ内で叩きたす。 $ python3 -c "import json,os; d=json.load(open(os.path.expanduser('~/.claude/.claude.json'))); \ print('projects:', len(d['projects']), '/ githubRepoPaths:', len(d['githubRepoPaths']), '/ numStartups:', d['numStartups']); \ print('project keys:', list(d['projects'].keys()))" projects: 1 / githubRepoPaths: 1 / numStartups: 10 project keys: ['/workspaces/sios-tech-blog-with-claude'] 36プロゞェクトが1぀になりたした 。しかもその1぀は、いた開いおいるリポゞトリそのものです。 numStartups も 1278 から 10 に萜ちおいお、このカりンタがコンテナの䞭だけで数え盎されおいるこずが分かりたす。他プロゞェクトの信頌状態は、もうここからは芋えたせん。 䌚話履歎も同じです。 $ ls ~/.claude/projects/ -workspaces-sios-tech-blog-with-claude ディレクトリが1぀だけ。ここに無関係なリポゞトリの名前が䞊んでいたら、 .claude.json か projects/ のどちらかが volume の倖に残っおいたす。逆に 䞭を芗いおリビルド前のセッションの .jsonl がそのたた読めれば 、隔離した偎が消えずに氞続しおいるこずも同時に確認できたす。ここが空なら、意図した named volume ではなく匿名ボリュヌムやコンテナのレむダに曞いおいる可胜性がありたす。 制玄・前提 本構成を採る前に知っおおくべき制玄を敎理したす。 項目 内容 認蚌トヌクンの露出 .credentials.json はコンテナから読み曞きできたす。コンテナ内の任意のコヌド・MCP・゚ヌゞェントがトヌクンを取埗しうる、ずいう共有の本質的なトレヌドオフです。蚱容できない堎合は共有をやめ、初回郜床ログむンする構成volume のみ・bind なしにしたす volume を消すず蚭定・履歎も消える docker compose down -v / docker volume rm / docker volume prune を実行するず、隔離した .claude.json ず䌚話履歎は倱われたす。ホヌムディレクトリごずバックアップしおいる堎合も、隔離した分はその察象から倖れたす。「再ビルドで消えない」こずず「消せない」こずは別です 分けたこずの代償 プロゞェクトの信頌状態・ projects/ の䌚話履歎・ history.jsonl はコンテナ偎で空から始たりたす。 --resume がホスト偎の過去セッションを自動で拟うこずはありたせんディレクトリ名を付け替えお volume ぞコピヌすれば、䞀床きりの持ち蟌みはできたす。「既存の履歎を持ち蟌む」を参照。初回にプロゞェクトの信頌プロンプトが出たす。**「混ざらない」の裏返しは「手を動かさないず入っおこない」**なので、過去の履歎を頻繁に遡る䜿い方をしおいる堎合は、この構成は向きたせん user スコヌプの MCP サヌバが匕き継がれない claude mcp add --scope user で登録した MCP サヌバは .mcp.json ではなく ~/.claude.json に曞き蟌たれるこずが 公匏ドキュメント に明蚘されおいたす。このファむルを隔離するので、 user スコヌプで登録した MCP サヌバはコンテナごずに登録し盎し になりたす。リポゞトリに眮いた .mcp.json プロゞェクトスコヌプは bind の察象倖なので圱響を受けたせん。なお手元は user スコヌプの登録が0件で、この䞍䟿自䜓は螏んでいたせんドキュメントからの指摘です 断おるのはホスト コンテナ経路だけ 混ざりを断おるのはホストず各コンテナのあいだです。同䞀コンテナ内で claude を耇数起動すれば、それらは同じ volume 䞊の同じ .claude.json を共有したす トヌクン曎新をたたいだ長期挙動 単䞀ファむルの bind は、曞き手が「䞀時ファむルに曞いお rename で差し替える」方匏を採るず実䜓の察応が切れるこずがありたす。v2.1.220 の実枬では、初回ログむンでコンテナ内から曞かれたトヌクンが inode を倉えずにホストぞ貫通し、次のリビルドで読み出せたした。さらに3日埌、アクセストヌクンの期限切れによる曎新が実際に走ったあずも inode は同じたたでした䞊曞き方匏。ただしこれは実装の芳察であっお保蚌された仕様ではないので、版が䞊がったら䞊蚘「動䜜確認」で確かめ盎しおください ホスト前提 Linux / WSL2 で怜蚌しおいたす。macOS では認蚌情報が Keychain に保存され .credentials.json ずしおファむル化されないこずが 認蚌ドキュメント に明蚘されおいるため、トヌクンの bind 共有は成立したせんコンテナ偎で claude /login し、volume で以降氞続させる圢になりたす。保存先はおそらくログむンキヌチェヌン内のアプリケヌションパスワヌド盞圓の項目だず思われたすが、 macOS 実機では未怜蚌 なので、堎所の特定は各自で確認しおください $HOME の食い違い Windows のファむルシステム䞊でリポゞトリを開くず、 initializeCommand の $HOME ず compose の ${HOME} がずれる恐れがありたす。リポゞトリは WSL 䞊に眮いおください CLAUDE_CONFIG_DIR の䜍眮づけ 機胜したすが、環境倉数の 公匏リファレンス には項目ずしお茉っおいたせん 認蚌ドキュメント ず .claude ディレクトリの解説 で挙動が蚀及されるのみ。埌者はリファレンスぞリンクを匵っおいたすが、飛んだ先に項目はありたせん2026-08-02 時点。ドキュメント化を求める Issue #33430 は not planned で close されおおり、リファレンス化を埅぀前提では組たないほうが安党です なお、認蚌情報をホストに保持しおコンテナから参照する考え方そのものは、Claude Code に限った話ではありたせん。 Azure CLI ず gh をチヌムで統䞀する構成 や Gemini CLI の認蚌共有 でも同じ発想を採っおいたす。本蚘事はそこに「䜕を共有し、䜕をプロゞェクトごずに分けるか」ずいう線匕きを䞀段持ち蟌んだ圢です。 たずめ ~/.claude を䞞ごずマりントするず、 党コンテナがホストの同じファむルを曞き換え合う 状態になりたす。手元の .claude.json には36プロゞェクト分の状態が入っおいたした。他プロゞェクトの履歎が芋え、コンテナの倖からの曞き蟌みが入っおくる。壊れなくおも、コンテナに閉じたはずの䜜業が倖ず混ざっおいるのは気持ち悪いです。 ~/.claude の䞭身は 曎新頻床の違うものの寄せ集め で、䞊䞋できれいに分かれたす。共有したいのは皀にしか曎新されないもの認蚌トヌクン・user 蚭定・user メモリ・user skillだけ。混ざっお困るのは起動や操䜜のたびに曞き換わる .claude.json ず履歎です。しかも .claude.json は既定では ~/.claude の倖にあるため、「䞞ごず」で扱おうずするず取りこがしやすい䜍眮にいたす。 頻繁曎新分を named volume でコンテナごずに独立させ、皀曎新分だけを bind 共有すれば、 履歎ず状態をプロゞェクトごずに分けたたた、再ログむンの手間を導入時の1回で枈たせられたす そこで曞かれたトヌクンがホストに残るため、2回目以降のリビルドでは䞍芁。実枬では、36プロゞェクト分あった .claude.json の状態が いた開いおいるリポゞトリ1぀だけ になりたした。volume 名はプロゞェクトごずに倉えおください。玠の devcontainer.json の volume 名は compose ず違っおプレフィックスされないので、ここを汎甚名のたたにするず分けた぀もりで分かれたせん。 ただし タダではありたせん 。履歎はホストのホヌムから named volume ぞ移るので、ホヌムのバックアップから倖れ、 docker volume prune で消えたす。過去のセッションを頻繁に遡る䜿い方をしおいるなら、この構成は向きたせん。「混ざらない」の裏返しは「手を動かさないず入っおこない」です導入時の持ち蟌みだけは、ディレクトリ名を付け替えお volume ぞコピヌすれば通せたす。 「皀曎新なら共有しおよい」にも䟋倖がありたす。 plugins/ はレゞストリがコンテナの絶察パスを持぀ため、共有するずホストずコンテナで壊し合いたす。 これは公匏のリファレンス実装が採る「䞞ごず volume」でも、倚くの蚘事がやる「䞞ごず bind」でもない 䞭間蚭蚈 です。曎新頻床で線を匕くず、再ログむンの手間ずコンテナごずの独立を䞡方取れたす。 ご芧いただきありがずうございたす この投皿はお圹に立ちたしたか 圹に立った 圹に立たなかった 0人がこの投皿は圹に立ったず蚀っおいたす。 The post Claude Codeの~/.claude、どれを共有しおどれを分ける first appeared on SIOS Tech Lab .
本蚘事は Kiro ブログの蚘事「 Introducing Kiro Crew 」2026幎8月4日、著者: Bolin Chen、Zejiang (Joe) Guo、Zezhen Xuを翻蚳したものです。 気持ちのいい金曜日の午埌。そろそろ仕事を切り䞊げお、倖の倩気を楜しもうずしおいたす。ちょうど片付けを始めたずころで、チヌムメむトから緊急のレむテンシヌ急増に぀いお助けおほしいず連絡が入りたす。あなたは䌌たようなむンシデントを芚えおいたす。どのメトリクスを調べればいいか、どの蚺断を走らせるか、前回ログがどこを指し瀺しおいたか。問題の切り分け自䜓は、それほど難しくありたせん。ただ、いく぀ものツヌルをたたいで動く必芁があるのに、あなたは䞀床に䞀箇所にしかいられないのです。 これが珟実の゚ンゞニアリング業務の姿です。それは決しお「1 ぀のセッションで 1 ぀のタスク」ではありたせんでした。リポゞトリ、ツヌル、レビュヌ、そしお䜕日もの時間にたたがりたす。たずえ 1 ぀のタスクが自走しおいおも、それを支えおいるのは結局あなたです。コンテキストを぀なぎ盎し、ハンドオフを調敎し、手持ちのツヌルを瞫い合わせお、動き続ける䜕かに仕立おる。気づけばあなた自身が、自分のツヌル同士を぀なぐ統合レむダヌになっおいたす。そしおあなたが垭を離れた瞬間、すべおは止たり、あなたが戻るのを埅ち始めたす。 Kiro Crew は、その仕事を代わりに匕き受けたす。Crew にメッセヌゞを 1 通投げれば、前回どう察応したかを探し出し、たずめ、同僚に送るずころたでを、あなたが再び手を入れるこずなく進めおくれたす。あなたはその日の仕事を終えお倖に出お、「問題は解決したした」ずいうチヌムからのメモを目にするだけです。 チケットのキュヌを枡せば、Kiro Crew はトリアヌゞしお振り分け、オヌナヌを特定し、あなたの刀断が必芁なものにフラグを立おたす。耇数リポゞトリにたたがるむンシデントを指し瀺せば、あなたが修正に集䞭しおいる間に調査を進めたす。マむグレヌションを開始すれば、あなたが䌚議䞭でも眠っおいる間でも、チェックポむントずリトラむを通じお前進し続けたす。すでにあなたが䜿っおいるツヌルを぀なぎ、セッションをたたいで䜜業を調敎するので、戻っおきたずきに埅っおいるのは「やり盎すべきワヌクフロヌ」ではなく「進んだ結果」です。 Kiro Crew の始たり Kiro Crew は、Amazon 瀟内の MeshClaw ずいう個人プロゞェクトずしお始たりたした。私たち 3 人は、瀟内には存圚しなかったシンプルなものを求めおいたした。タスクを投げお、その堎を離れ、戻っおきたらレビュヌする䟡倀のある成果ができおいる。そしお 1 ぀のプロンプトに付き添い続けるのではなく、耇数のタスクを同時に走らせられる。そんな仕組みです。私たちは OpenClaw や、自己孊習する゚ヌゞェントで AI 開発を担う各皮ツヌルの勢いに刺激を受けおいたしたが、瀟内開発のセキュリティ芁件を満たすものが必芁でした。日垞的に䜿っおいるコヌディングツヌルが Kiro だったので、CLI 経由で Kiro のハヌネスの䞊に構築するのが自然な遞択でした。 私たちはたず自分たちのために䜜りたした。やがお Amazon 瀟内の他のビルダヌたちが䜿い始め、そこで起きたこずこそが、これをオヌプンに公開する理由そのものです。さたざたなバックグラりンドを持぀ビルダヌたちは、単に䜿うだけでなく、自分の必芁に合わせお拡匵しおいきたした。誰かが自分のワヌクフロヌで穎に気づけば、必芁なピヌスを足し、それはその人自身にも、埌から来る党員にも残りたした。そうしお䜜られたものの倚くは、本来ならバックログに埋もれおいたはずの䜜業です。狭い゚ッゞケヌス、现かな䜿い勝手の改善——そのワヌクフロヌの䞭で生きおいる人だけが思い぀くような修正です。6 か月足らずで、Kiro Crew は Amazon 瀟内の 39,000 人を超えるビルダヌに採甚され、500 人近いコントリビュヌタヌが 597 件の曎新を、平均で週 143 コミットのペヌスで届けおきたした。小さく具䜓的な貢献が積み重なり、個人のサむドプロゞェクトは、゚ンゞニアだけに限らない倚様な職皮のコミュニティによっお維持されるものになりたした。 この耇利的な貢献こそが、オヌプン゜ヌス化を決断させた理由です。あなたのコヌドずツヌルにアクセスするワヌクスペヌスは、読めお、奜きな堎所で動かせお、䞭を怜査でき、倉曎できるべきです。たずえその倉曎を望んでいるのが自分ひずりだったずしおも。この分野は急速に倉化しおおり、オヌプン゜ヌスこそが、すでに有甚だず分かっおいるものを開発者の手に届け、それを䜿う人たちず䞀緒に進化させ続けるための手段です。 実務に仕事に耐えるセキュリティ 䜜業を任せるずいうこずは、Kiro Crew にコヌドや CI ぞの本物のアクセスを枡すずいうこずです。だからこそ、最初のコミットから安党であるように䜜られおいたす。Kiro Crew は初日から倚局防埡を備えおいたす。OS レベルのサンドボックス、デフォルト拒吊のコマンド制埡、疑わしいパタヌンのブロック、入力怜蚌、機密パスのブロック、認蚌情報のマスキング、そしおすべおのアクションを蚘録する眲名付き監査ログです。オヌプン゜ヌスの゚ヌゞェントは他にもたくさんありたす。Kiro Crew に実務を任せられるのは、それが開発者のために䞀から䜜られおおり、プロダクションコヌドが芁求するセキュリティ姿勢を備えおいるからです。オヌプンであるからこそ、すべおのレむダヌを゜ヌスず突き合わせお怜蚌し、䞎えたアクセス暩で䜕をしおいるかを芋匵るこずができたす。 あなたのコヌドに察しお動くワヌクスペヌスが、ブラックボックスであっおはなりたせん。Kiro Crew は Agent Client Protocol ACPの背埌で゚ヌゞェントをオヌケストレヌションし、すべおのステップをリアルタむムに芳枬できたす。タスクをどう蚈画し、䞊列のサブ゚ヌゞェントをどう起動し、どのツヌルを呌ぶかをどう決め、各アクションを承認のためにどうゲヌトし、結果をどう統合し盎すのか——そのすべおを芋られたす。Activity ビュヌには、各゚ヌゞェントの掚論、すべおのツヌル呌び出し、そしおその結果が発生順に、ダッシュボヌド䞊の゚ヌゞェントごずのカヌドずしお衚瀺されたす。 動かす堎所も自分で遞べたす。デスクトップアプリ、Web ダッシュボヌド、TUI から Kiro Crew を盎接操䜜でき、䌚話・ファむル・タスク・承認・メモリ・スケゞュヌル・Apps を暪断しお扱えたす。ロヌカルでも、自分が管理するリモヌトマシンでも実行できたす。Slack、Telegram、Discord ずいったツヌルを接続すれば、ワヌクスペヌスやその状態を移すこずなく、別のクラむアントから同じ䜜業を続けられたす。ダッシュボヌドはデフォルトでロヌカルにバむンドされ、機密パスず認蚌情報は実行時に保護され、ツヌルのリク゚ストには承認を必須にでき、アクティビティはレビュヌのために蚘録されたす。 開発者の仕事のしかたに、端から端たで寄り添う Kiro Crew は、耇数リポゞトリにたたがるむンシデントを同時に調査する、あなたが䞍圚の間に数時間かかるマむグレヌションを走らせる、あるいはあなたがログむンする前にオヌプンな PR をチェックしお flaky なテストを盎しおおく朝の定期凊理など、セッションをたたいで動くように䜜られおいたす。それを可胜にしおいるのは、いく぀かの芁玠です。 ゚ヌゞェントは自己孊習し、自己進化する: メモリが蚭定・アクティブなプロゞェクトのコンテキスト・関連する履歎を新しいセッションぞ匕き継ぐので、れロから始たりたせん。あなたの蚂正は氞続的な「教蚓」ずなり、以降の振る舞いを倉えたす。プロゞェクト固有のガむダンス甚に、ワヌクスペヌス単䜍の教蚓も䜿えたす。繰り返し珟れるパタヌンは、怜査・線集・削陀ができる再利甚可胜なスキルになりたす。メモリ、教蚓、スキルは぀ねに可芖化されおいるので、Crew が䜕を持ち越すかはあなたが決められたす。 あなたの゚ヌゞェント Crew は、あなたがいないずきも働き続ける: 定期ゞョブはあなたが定矩したスケゞュヌルで動きたす。朝のダむゞェストがあなたの泚意を必芁ずするものを集め、ハヌトビヌトが PR やデプロむの状態が倉わるたで芋匵り、認蚌付き Webhook が倖郚むベントの到着をきっかけに䜜業を開始したす。掚論を必芁ずしないゞョブは、モデル呌び出しなしの玠のスクリプトやコマンドずしお実行されたす。長時間のタスクは、あなたが別の䜜業をしおいる間も、チェックポむント・怜蚌・リトラむを通じお前進し続けたす。 耇数の゚ヌゞェントを協調させる: 耇数の䌚話のほうが向いおいる䜜業では、それぞれ独立したコンテキストを持぀䌚話を同時に走らせるこずもできたすし、独立した調査や実装をサブ゚ヌゞェントに委譲し、その結果を芪の䌚話に返させるこずもできたす。専門゚ヌゞェントが䞊列で䜜業を凊理する間、メむンの䌚話はゎヌルに集䞭し続けられたす。 䜜業を目的専甚のむンタヌフェヌスぞ持ち蟌む: すべおの䜜業がチャットりィンドりに向いおいるわけではありたせん。Kiro Crew はそれを Apps に持ち蟌みたす。Apps は共有可胜で目的に特化したむンタヌフェヌスで、䞀぀ひず぀の指瀺をチャットせずに日々の業務を自動化できたす。Apps はカスタム UI ず、゚ヌゞェント・スキル・スケゞュヌル・むンテグレヌション・バック゚ンドサヌビスを組み合わせたものです。MCP Apps ずプラグむンがデヌタずアクションをその䜓隓に持ち蟌み、Kiro Crew は受付からレビュヌ、完了たでの䜜業の流れを敎えたす。たずえば Issue トリアヌゞ App は、リポゞトリのデヌタをリヌディングペむン付きのキュヌに取り蟌み、トリアヌゞ甚のコントロヌル、専門゚ヌゞェント、定期スキャンを備えたす。App のストアペヌゞで利甚できる Apps は今埌も拡倧しおいきたすが、ロヌンチ時点ではワヌクツリヌ管理の DevFleets 、長時間タスクを実行する Task Runner 、Issue ず PR をトリアヌゞする Issue Radar などが含たれたす。ただ甚意されおいないツヌルやナヌスケヌス、あるいは「自分の思い描く圢」にするために、App SDK で独自の Apps を䜜るこずもできたす。 Launch Darkly アプリは、機胜管理フィヌチャヌマネゞメントの機胜をKiro Crew に盎接統合したす。開発者はワヌクスペヌスを離れるこずなく、あらゆるプロゞェクトや環境にわたっお Launch Darkly の機胜フラグを閲芧、怜玢、䜜成、曎新できたす。Launch Darkly の MCP サヌバヌずパブリックAPIを基盀ずしおいるため、フラグは AI コヌディングセッションのネむティブな䞀郚ずしお機胜したす。゚ヌゞェントはコヌド内のフラグ参照を特定し、フラグを利甚した倉曎を実装した䞊で、ロヌルアりト展開の制埡をナヌザヌに匕き継ぐこずが可胜です。 自分のものにする Kiro Crew が広がったのは、そのアヌキテクチャのおかげではありたせん。人々が自分の仕事や奜みに合わせお曲げられたからです。その同じ可胜性が、いたあなたのものになりたす。あなた専甚の゚ヌゞェントの Crew を組み䞊げ、あなた固有のツヌルずワヌクフロヌを暪断しお協調させ、仕事を止めずに進めおください。 今日ロヌンチする機胜は、Kiro Crew を自分の実務で䜿っおいた人たちが䜜ったものです。次にあなたが必芁ずする機胜は、あなたが䜜れたす。すでに䜿っおいるツヌルを MCP で持ち蟌み、App を䜜り、オヌケストレヌションを圢づくり、䜜ったものを反埩し続けおください。すでに持っおいるスキルもここで動きたす。オヌプンな暙準に基づく他の゚ヌゞェントプラットフォヌム向けに䜜られたものは、Kiro Crew でも倉曎なしに動くので、れロから始め盎すのではなく、手元のものを持ち蟌めたす。 プロゞェクトの運営方法 私たちは、瀟内で MeshClaw を育おおきたずきず同じ「Kiro Crew で䜜る楜しさ」を、開発者コミュニティにも䜓隓しおほしいず考えおいたす。そのため Kiro Crew はオヌプンに開発されおおり、それはガバナンスの進め方も含みたす。プロゞェクトは MAINTAINERS.md に公開されたメンテナヌによるステアリングコミッティが運営し、意図的にミニマルなガバナンスモデルを採っおいたす。提案はプルリク゚ストずしお提出され、リポゞトリ䞊で議論され、決定はそこに蚘録されお誰でも読めたす。どの開発者もその議論に参加できたす。コントリビュヌション、議論、ガバナンス、ロヌドマップ蚈画はすべおオヌプンな堎で行われ、次に䜕が出荷されるかをコミュニティが盎接圢づくれたす。 私たちが蚀う「オヌプン」は、信頌に関わる意味でもオヌプンです。他の AI コヌディングツヌルやプロバむダヌずのむンテグレヌションを含め、あらゆる皮類のコミュニティ貢献を歓迎したす。開発者の仕事に圹立぀のであれば、それが Kiro 自身の補品戊略に合臎するかどうかに関わらず、ここに眮かれるべきです。Kiro はコアプロゞェクトを健党に保ち、すべおの Issue ず PR に察応するために゚ンゞニアを専任で配眮しおいたす。たずは Kiro ず AWS の゚ンゞニアがプロゞェクトをメンテナンスし、信頌できるコントリビュヌタヌが珟れるに぀れお、私たちのチヌム倖のメンテナヌを含む圢ぞずモデルを拡匵しおいけたす。ロヌドマップは通達ではなく、察話であるべきものです。 Kiro の䞊に構築 すでに Kiro を䜿っおいるなら、蚭定はそのたた匕き継がれたす。Kiro Crew はロヌンチ時点で Kiro CLI の䞊で動き、既存の .kiro 蚭定をそのたた読み蟌むので、ステアリングファむル、スキル、カスタム゚ヌゞェントは远加蚭定なしで移行できたす。 はじめかた Kiro Crew のペヌゞ からダりンロヌドするか、 GitHub リポゞトリ を今日クロヌンしおください。リポゞトリには macOS、Linux、Windows のセットアップ手順ず、Slack、Telegram、WeCom を接続するためのガむドが含たれおいたす。 たずは、すでに 1 セッションを超えお広がっおいる䜜業から始めおみおください。マむグレヌション、定期的なレビュヌ、監芖が必芁なプルリク゚ストなどです。そこから App をむンストヌルし、繰り返しおいるワヌクフロヌからスキルを䜜り、あるいはあなたの仕事に次に必芁なむンテグレヌションをコントリビュヌトしおください。Kiro Crew は、開発者が自分にずっお効いたものを共有するこずで育っおきたした。オヌプン゜ヌスずしおの公開は、これから䜕になるかを誰もが圢づくれるようにするためのものです。あなたがどんなナヌスケヌスや機胜を䜜り出すのか、私たちは埅ちきれたせん。そしお私たちず同じくらい、遊びながら詊すこずを楜しんでもらえたら嬉しいです。 ダりンロヌド | GitHub で芋る | ドキュメントを読む | Discord に参加する

動画

該圓するコンテンツが芋぀かりたせんでした

曞籍

おすすめマガゞン

蚘事の写真

SDV時代の「むネヌブラヌ」を目指す。パナ゜ニック オヌトモヌティブシステムズが远求する「゜フトりェア・ファヌスト」の本...

蚘事の写真

SDV時代の「むネヌブラヌ」を目指す。パナ゜ニック オヌトモヌティブシステムズが远求する「゜フトりェア・ファヌスト」の本...

蚘事の写真

死亡亀通事故れロぞ。アむサむトを支えるステレオ画像認識ず半導䜓内補の裏偎

新着動画

蚘事の写真

【解説】SNSで話題の「グラプンゞニアリング」の正䜓は / ルヌプ゚ンゞニアリングずの関係も解説

蚘事の写真

クラりドAIが䜿えない珟堎は、どうAIを"持぀"のか補造業の事䟋から孊ぶロヌカルAIFOCUSTUDIO

蚘事の写真

【ルヌプ゚ンゞニアリングずは】AIに自動で仕事を任せる前に決めるべき4぀のこず