課題:仕事と個人のコードを、同じ契約で書きたくない
火曜の夜九時。会社の作業を一本終えて、個人のアプリに戻ります。隣のセルで同じ Claude Code を起動して、個人のコードを AI に直させようとします。
手が止まります。この使用量は、どちらの契約から引かれているのか。
気になる理由は、どちら向きかで違います。
- 会社の契約で個人のコードを書きたくない(経費で払っているので筋が違う)
- 個人の契約で会社のコードを書きたくない(枠が減るし、会社のコードが個人のアカウントの履歴に残るのもいやだ)
どちら向きでも、混ざっているかどうかが画面から分からないのが一番困ります。
既存の回避策とそのコスト
二つのマシンを使い分ける
一番確実です。コストは高い。ノート PC を二台持ち歩くことになります。
環境変数を書き換えて起動する
CLAUDE_CONFIG_DIR や CODEX_HOME に別のパスを指定して CLI を起動する手があります。一回なら動きます。
ただし、
- セッションごとに自分で切り替える必要がある
- どのセッションがどの契約で動いているかを自分で覚える必要がある
- MulmoTerminal の起動フォームからこれを渡す場所がちゃんと決まっていない — custom command の中に書くとセッションの記録が全部空になる(後述)
正しい方向ですが、一人で管理しきれません。
MulmoTerminal の解決:accounts で宣言すれば、セルごとに選べる
MulmoTerminal の accounts 設定は、CLI の既存の仕組みをそのまま使います。Claude Code も Codex も、ログイン・会話記録・設定を一つのディレクトリにまとめて持っています。別のディレクトリを宣言すれば、別のログインとして分かれます。
{
"accounts": [
{ "id": "work", "label": "仕事", "agent": "claude", "home": "~/.claude-work" },
{ "id": "personal", "label": "個人", "agent": "codex", "home": "~/.codex-personal" }
]
}
書き場所は ~/.mulmoterminal/config.json。設定 → モデルとバックエンド → 2 つ目以降の契約 の UI からも足せます(そこで足した場合は id が自動生成されます)。
| キー | 中身 |
|---|---|
id |
セッションを覚えるための内部名。一度決めたら変えない。表示を変えたいときは label を変える |
label |
起動フォームとヘッダーに出る表示名 |
agent |
"claude" か "codex" |
home |
絶対パス、または ~/ で始まるパス。既定ディレクトリ(~/.claude / ~/.codex)そのものは指定しない(後述) |
セルを起動するときに選ぶ
空いているセルの起動フォームに ACCOUNT の欄が出ます。選択肢は Default login(いつものログイン)と、設定したアカウント。
起動したセルのヘッダーに、アカウントの label が出ます。これが無いと、冒頭の疑問が毎回起きます — どのセルがどの契約で動いているか、見て分からないので。
使用量ゲージは契約ごとに出る
ツールバーには、契約ごとの 5h / 7d の使用枠が、名前付きで並びます。
ただし測り方が二つあります。
- Claude のアカウント: ワークスペースのフォルダで、そのログインを使った短い隠しセッションを動かして測ります。契約の枠をごくわずか使うし、先にログインしておく必要があります。新しいアカウントは最初に信頼プロンプトで止まるので、一度ワークスペースでセルを起動して承認するまで
仕事 n/aと出ます(カーソルを重ねると理由が出ます) - Codex のアカウント: セッションの rollout ファイルから読むので、枠は使いません。最初のセッションを一回動かせば数字が出ます
Claude 側で枠を公開する公式の API が無いので実測するしかなく、「測るために少し使う」ことがマニュアルに明記されているのが助かる部分です。隠されるのが一番いやな情報なので。
会話はアカウントに紐づく
一度始めたセッションは、起動したときのアカウントのまま動きます。再開するときも、アプリを再起動したあとも、何か月か経ってからでも、起動フォームの選択に関係なく同じアカウントで動きます。
理由は単純で、会話の記録がそのアカウントのディレクトリにあるからです。
再開一覧には全部のアカウントのセッションが並び、それぞれに label が付きます。先週のセッションをうっかり別の契約で再開する、ということが起きません。
新しいフォルダは、空の状態から始まる
アカウントのディレクトリが新規のとき、最初のセルは空の状態で始まります。Claude Code がそこで /login を求めます。
空から始まるのは、設定・自分で登録した MCP サーバ・プロジェクトごとの信頼の回答。いつものログインのディレクトリにあるものなので、新しいディレクトリにはありません。
一方で空から始まらないものもあります。同梱の mulmoterminal-* スキルは新しいディレクトリにもミラーされ、GUI ツールもそのセルに届きます。自分で設定したものは引き継がれないが、アプリが用意するものは効く、という線です。
二回目からは、ログインも設定もそのまま使われます。
やってはいけない書き方
明示的な警告があります。
CLAUDE_CONFIG_DIRやCODEX_HOMEを、customAgentsのcommandやprovidersのenvに書かないでください。
症状は、セッションの一覧・再開・コスト・履歴がすべて空になる。MulmoTerminal は既定のディレクトリを見る一方で、セッションは自分の指定した別の場所に書かれるからです。
書いた本人は、自分で指定したせいだと気づきにくい。契約を分けたいなら accounts で宣言するのが唯一の正解です。
既定ディレクトリを home に書くと「いつものログイン」扱い
少し込み入っていますが、事故を避けるために:
{ "accounts": [{ "id": "me", "label": "私", "agent": "claude", "home": "~/.claude" }] }
これはいつものログインのディレクトリを指しているので、MulmoTerminal はいつものログインとして扱います。そのセルには環境変数を足さず、専用の使用量ゲージも出しません。
Claude Code 側が設定ディレクトリの明示指定を別のログインとして扱う仕様なので、既定を明示指定すると「既定とは別の、既定を指すログイン」になり、しかもそこに書き込みは行かず、ややこしいだけです。この罠を自動で吸収しています。
まだベータ版
マニュアルに明記されています。自動テストでは確かめているものの、実際の作業で一日通しては確かめていない段階です。
契約とお金に関わる機能なので、ベータ表記が出ているのは重要です。最初は捨ててよい作業で試して、使用量が意図した契約から引かれているかを確かめる。そのあとで本番の使い分けに入るのが安全です。
使ってみる
既存の MulmoTerminal インストールがあれば、accounts は追加のインストールなしで動きます。初めての方は MulmoTerminal 完全ガイド の「使い方 3 ステップ」から。
動作確認の最小シナリオ
~/.mulmoterminal/config.jsonに上のaccountsを書く(または設定 UI から追加)- MulmoTerminal を再起動してタブをリロード
- 空いているセルの起動フォームに ACCOUNT の欄が出れば成功
- 新しいアカウントを選んで起動すると、Claude Code が
/loginを求めるので、分けたい契約でサインインする - ヘッダーにアカウントの
labelが出れば成功 - Claude のアカウントは、一度ワークスペースでセルを起動して信頼プロンプトを承認するまでゲージが
n/a
やめるときは項目を消して再起動します。開いていたセルはそのディレクトリで動き続け、過去のセッションは再開一覧から消えます(戻すときは同じ id と home で足し直す)。
まとめ
- Claude Code も Codex も、ログインと会話記録を一つのディレクトリに持っている
accountsでそのディレクトリを別に宣言すれば、セルごとに別の契約で動かせる- ヘッダーに
labelが出て、ツールバーに契約ごとの使用枠が並ぶ - セッションは起動したときのアカウントに紐づき、あとから付け替えられない
- 既定ディレクトリ(
~/.claude/~/.codex)をhomeに書くと「いつものログイン」として扱われる CLAUDE_CONFIG_DIR/CODEX_HOMEを custom command や provider env に書くと全部空になる — 契約の分離はaccountsで宣言するのが唯一の正解
関連: MulmoTerminal 公式ガイドの accounts ページ / MulmoTerminal の customAgents で ollama を本物のセルにする / MulmoTerminal の worktree 隔離

