OpenClawを使っていて、突然「ファイルを編集できない」「user-instructions.md を書き換えられない」「このセッションではメッセージ送信系ツールしか使えない」と表示されることがあります。
この症状は、OpenClaw自体が壊れたというより、現在のツールプロファイル設定が messaging になっていることで起きるケースがかなり多いです。OpenClaw では tools.profile がベースのツール許可設定になっており、ここで利用可能なツール群が変わります。
結論:編集できない最大の原因は tools.profile: "messaging"
今回のように、会話では返答できるのにファイル編集だけできない場合、設定ファイルのこの部分が原因になっている可能性が高いです。
"tools": {
"profile": "messaging"
}
messaging は名前の通り、メッセージの送受信や会話履歴の確認向けのプロファイルです。
OpenClaw公式では、messaging に含まれるのは group:messaging と sessions_list、sessions_history、sessions_send、session_status などで、ファイル編集向けの group:fs は含まれません。そのため、この設定のままだと「編集ツールが無効」「この環境では直接書き換えできない」といった挙動になりやすいです。
具体的なエラーメッセージ例
実際に messaging プロファイルでファイル編集を試みた際に表示されるエラーメッセージの例をいくつか紹介します。これらが表示されたら、まず tools.profile を疑ってみましょう。
パターン1:ツール自体が認識されない場合
Error: Tool "edit" is not available in the current session.
Available tools: message, sessions_list, sessions_history, session_status
このエラーは、現在のプロファイルで許可されていないツールを呼び出そうとした場合に表示されます。messaging プロファイルではファイル操作系ツールが含まれないため、edit や write ツールが使えません。
パターン2:権限不足として扱われる場合
Permission denied: This session is restricted to messaging tools only.
File system operations require 'coding' or 'full' profile.
OpenClaw がツールの実行をポリシーでブロックした場合のメッセージです。「このセッションはメッセージングツールのみに制限されています」と明示されています。
パターン3:静かに失敗する場合
I understand you want to edit the file, but I don't have access to file editing tools in this session.
Would you like me to show you what changes to make instead?
エージェントが自律的にツール不足を検出し、代替案を提案するパターンです。エラーとして表示されない分、気づきにくいケースです。
パターン4:設定ファイル読み込みエラー
Warning: Could not load tools configuration.
Falling back to restricted mode (messaging profile).
設定ファイルに構文エラーがある場合や、ファイルが見つからない場合に、安全側に倒れて messaging プロファイルで起動することがあります。この場合、設定ファイルの JSON 構文を確認してください。
messaging / coding / full の違い
OpenClaw の tools.profile には代表的に messaging、coding、full があります。
違いはとてもシンプルで、どこまでのツールを最初から許可するかです。
messaging
チャット中心のプロファイルです。
メッセージ送信、履歴確認、セッション状態の確認などが中心で、Discord や各種メッセージング用途には向いていますが、ローカルファイル編集には不向きです。
含まれる主なツール:
- message(メッセージ送信)
- sessions_list(セッション一覧)
- sessions_history(セッション履歴)
- sessions_send(セッション間通信)
- session_status(ステータス確認)
含まれないツール:
- read, write, edit(ファイル操作)
- exec(コマンド実行)
- browser(ブラウザ操作)
coding
ローカル作業や開発向けのプロファイルです。
公式では group:fs、group:runtime、group:sessions、group:memory、image が含まれており、ファイルの読み書き・編集・実行系の操作を使いたいなら、まずこれが本命です。OpenClaw を "コーディングエージェント" として使いたい人には、基本的にこの設定が合っています。
含まれる主なツール:
- read, write, edit(ファイル操作)
- exec(コマンド実行)
- process(プロセス管理)
- image(画像分析)
- 上記 messaging のツール全て
含まれないツール:
- browser(ブラウザ操作)※設定による
full
制限なしのプロファイルです。
公式では 「unset と同じで、制限なし」 とされています。つまり、プロファイルによるベース制限をかけない設定です。便利ではありますが、そのぶん広く触れるので、個人ローカル用途以外では慎重に扱うべきです。OpenClaw のセキュリティ文書でも、単一の信頼境界を前提にした個人利用向けの考え方が示されています。
含まれるツール:
- 全ての利用可能なツール
使用シーン別おすすめプロファイル
どのプロファイルを選ぶべきか、典型的な使用シーン別に整理しました。
Discord/Slack チャットボットとして使う場合
推奨: messaging
用途: チャットでの会話、質問回答、情報検索
理由: ファイル操作が不要で、メッセージング機能のみで十分
リスク: 低い(ファイルシステムに触れない)
Discord や Slack で「会話相手」として OpenClaw を使うなら、messaging で十分です。万が一チャンネルに悪意あるユーザーがいても、ファイル操作ができないため被害を限定できます。
ローカルファイルを管理・編集したい場合
推奨: coding
用途: メモ整理、設定ファイル編集、ドキュメント作成
理由: ファイル読み書きが必要だが、ブラウザ操作は不要
リスク: 中程度(ワークスペース内のファイルにアクセス可能)
日常的に AGENTS.md やメモファイルを編集するなら coding が基本です。ワークスペース内のファイルには自由にアクセスできますが、システム全体への影響は限定的です。
Web検索やブラウザ操作も含めたい場合
推奨: coding(+ browser 許可)または full
用途: Web検索、スクレイピング、ブラウザ自動化
理由: browser ツールが必要
リスク: 中〜高(外部サイトへのアクセスが可能)
coding プロファイルでも、追加設定で browser ツールを許可できます。full にする前に、必要なツールだけを追加許可する方法も検討してください。
開発・実験用途で制限をかけたくない場合
推奨: full
用途: 開発、デバッグ、実験、全機能のテスト
理由: あらゆるツールにアクセスしたい
リスク: 高い(全ツールが利用可能)
自分専用のローカル環境で、OpenClaw の全機能を試したい場合に限って full が適しています。外部チャネルと接続している場合は避けるべきです。
クイックリファレンス
| シーン | 推奨プロファイル | 理由 |
|---|---|---|
| チャットのみ | messaging | ファイル操作不要、安全 |
| メモ・設定編集 | coding | ファイル操作必要、適度な制限 |
| Web検索込み | coding + browser | 必要最小限の拡張 |
| 全機能テスト | full | 制限なし(ローカルのみ) |
設定ファイルはどこを見ればいい?
OpenClaw は、設定ファイルとして /path/to/openclaw-config.json を読み込みます。
ここに tools.profile が書かれており、現在のツール利用範囲を決めています。もし messaging になっていれば、今回のような「会話はできるけど編集できない」状態の説明がつきます。
たとえば、次のように設定されているなら要注意です。
"tools": {
"profile": "messaging"
}
ファイル編集をしたいなら、まずはこれを coding に変えるのが王道です。
"tools": {
"profile": "coding"
}
この変更で、OpenClaw が使えるツール群にファイル系が含まれるようになります。
設定ファイルの一般的な場所
環境によって設定ファイルの場所は異なりますが、一般的には以下の場所にあります:
~/.config/openclaw/config.json # Linux/macOS
%APPDATA%\openclaw\config.json # Windows
./openclaw-config.json # カレントディレクトリ
OpenClaw 起動時のログで、どの設定ファイルが読み込まれたか確認できます。
実際に編集するファイルはどこ?
「じゃあ何を編集すればいいの?」という点ですが、OpenClaw にはエージェント専用の workspace があり、そこにユーザー編集用のファイルが配置されます。
公式ではデフォルトの workspace は /path/to/openclaw-workspace で、ここがエージェントのホームとして扱われます。ここは /path/to/openclaw-home/ 配下の設定や資格情報保存場所とは別物です。
また、OpenClaw の agent runtime では、workspace 内に以下のようなユーザー編集ファイルが想定されています。
- AGENTS.md … 行動ルールや運用指示
- SOUL.md … 口調、人格、境界、トーン
- TOOLS.md … 環境固有のメモ
- USER.md … ユーザー情報や呼び方
- IDENTITY.md … 名前や雰囲気
- BOOTSTRAP.md … 初回セットアップ用ファイル(通常は初回後に削除)
つまり、今回のように「AIのふるまいを変えたい」「毎回読む指示を追記したい」のであれば、まず触る候補は AGENTS.md や SOUL.md です。
一方で、ローカル環境の補足や固有情報を書きたいなら TOOLS.md が向いています。OpenClaw 公式の TOOLS.md テンプレートでも、SSHホスト名や環境固有メモなどを書く用途が案内されています。
どう対処するのがベスト?
一番おすすめの流れはシンプルです。
- /path/to/openclaw-config.json を開く
- tools.profile が messaging なら coding に変更する
- workspace 配下の AGENTS.md や SOUL.md を編集する
- 必要に応じて OpenClaw を再起動する
この流れなら、「会話はできるのに編集だけできない」という状態から抜けやすくなります。OpenClaw は workspace を起点にブートストラップし、初回実行時には AGENTS.md や USER.md などを自動生成する仕組みもあります。
設定変更の具体的な手順
ステップ1: 現在の設定を確認
cat ~/.config/openclaw/config.json | grep -A 5 "tools"
または、OpenClaw に直接聞くのも有効です:
現在の tools.profile 設定を教えて
ステップ2: 設定ファイルを編集
エディタで設定ファイルを開き、profile の値を変更します:
nano ~/.config/openclaw/config.json
{
"tools": {
"profile": "coding"
}
}
ステップ3: 変更を保存して再起動
設定ファイルを保存したら、OpenClaw を再起動するか、新しいセッションを開始します。
設定変更後の確認方法
プロファイルを変更した後、正しく反映されているか確認する方法を紹介します。
方法1: セッションステータスで確認
OpenClaw に直接聞くのが一番簡単です:
session_status を実行して、現在利用可能なツール一覧を表示して
または:
今のセッションで使えるツールを教えて
coding プロファイルなら、read、write、edit、exec などが含まれているはずです。
方法2: 実際にツールを使ってみる
シンプルなファイル操作を試してみます:
workspace に test.txt というファイルを作成して、「Hello」と書き込んで
成功すれば、coding プロファイルが正しく動いています。失敗する場合は、設定が反映されていないか、別のエラーが考えられます。
方法3: 起動ログを確認
OpenClaw 起動時のログを確認します:
openclaw start 2>&1 | grep -i "profile\|tools"
ログに "Loading profile: coding" や "Tools profile: coding" といった表示があれば、設定が読み込まれています。
方法4: 設定ファイルの構文チェック
JSON 構文エラーがないか確認します:
python3 -m json.tool ~/.config/openclaw/config.json
エラーが表示されなければ、構文は正しいです。エラーがある場合は、カンマの忘れや括弧のミスがないか確認してください。
確認チェックリスト
- 設定ファイルの profile が "coding" になっている
- JSON 構文エラーがない
- OpenClaw を再起動した(または新セッションを開始した)
- session_status でツール一覧を確認した
- 実際にファイル作成を試した
トラブルシューティングフローチャート
ファイル編集できない問題を診断するためのフローチャートをテキスト形式で示します。
ファイル編集できない
│
▼
┌───────────────────────────────┐
│ エラーメッセージは表示された? │
└───────────────────────────────┘
│
┌────┴────┐
│ │
はい いいえ
│ │
▼ ▼
┌─────────┐ ┌─────────────────────┐
│メッセージ││エージェントが代替案 │
│を確認 ││を提案していないか確認│
└─────────┘ └─────────────────────┘
│
▼
┌─────────────────────────────────┐
│「ツールが利用できない」系のメッセージ?│
└─────────────────────────────────┘
│
┌────┴────┐
│ │
はい いいえ
│ │
▼ ▼
┌─────────┐ ┌─────────────────┐
│プロファイル││別の原因の可能性 │
│設定を確認││(権限、パス等) │
└─────────┘ └─────────────────┘
│
▼
┌─────────────────────────────────┐
│ config.json の tools.profile を確認│
└─────────────────────────────────┘
│
┌────┴────┐
│ │
messaging その他
│ │
▼ ▼
┌─────────┐ ┌─────────────────┐
│coding に││設定内容を確認 │
│変更する ││(full/coding 等)│
└─────────┘ └─────────────────┘
│
▼
┌─────────────────────────────────┐
│ OpenClaw を再起動 │
└─────────────────────────────────┘
│
▼
┌─────────────────────────────────┐
│ テストファイルを作成して確認 │
└─────────────────────────────────┘
│
┌────┴────┐
│ │
成功 失敗
│ │
▼ ▼
┌─────────┐ ┌─────────────────┐
│完了! ││設定ファイルの │
│ ││構文を再確認 │
└─────────┘└─────────────────┘
│
▼
┌─────────────────┐
│それでも直らない │
│→ ログを確認 │
│→ 設定パスを確認 │
└─────────────────┘
クイック診断
Q1: 「Tool not available」というエラーが出る
→ プロファイル設定を確認。messaging なら coding に変更。
Q2: エラーは出ないが編集してくれない
→ エージェントが代替案を提案している可能性。プロファイル確認。
Q3: 設定を変えたのに直らない
→ JSON 構文エラーの可能性。構文チェックを実行。
Q4: どの設定ファイルが読まれているかわからない
→ 起動ログを確認。または OpenClaw に直接質問。
よくある質問(FAQ)
Q1: coding に変えたのに「Permission denied」と出る
A: プロファイル以外に、ファイルシステムの権限設定がある可能性があります。
- ワークスペースディレクトリの権限を確認:
ls -la ~/.openclaw/workspace/ - 必要に応じて権限を修正:
chmod -R u+rw ~/.openclaw/workspace/ - それでも解決しない場合、OpenClaw の実行ユーザーとファイル所有者が一致しているか確認してください。
Q2: プロファイル設定が反映されない
A: いくつかの原因が考えられます:
- JSON 構文エラー: 設定ファイルの構文を確認
- キャッシュ: OpenClaw を完全に再起動
- 設定ファイルの場所: 複数の設定ファイルがある場合、意図しないものが読まれている可能性
- 環境変数: OPENCLAW_CONFIG などで設定パスが上書きされていないか確認
# 環境変数を確認
env | grep -i openclaw
Q3: full プロファイルは危険?
A: 「危険」というより「責任が伴う」という表現が適切です。
full が適しているケース:
- 自分専用のローカルマシン
- 開発・実験環境
- 信頼できるユーザーしかアクセスしない環境
full を避けるべきケース:
- 外部チャネル(Discord、Slack等)と接続している
- 複数人がアクセスできる環境
- 本番環境や共有サーバー
OpenClaw は「単一の信頼境界」を前提に設計されています。自分だけが使う環境なら full でも問題ありませんが、他者が関わる環境では coding 以下に留めるのが賢明です。
Q4: 一時的にファイル編集だけできればいい
A: プロファイルを永続的に変えるのではなく、セッション単位で対応する方法もあります:
- 別セッションを使う: メッセージング用と編集用で別のセッションを使い分ける
- 必要な時だけ coding で起動: 用途に応じて設定を切り替える
- allowlist を活用: messaging ベースで必要なツールだけ追加許可する
"tools": {
"profile": "messaging",
"allowlist": ["read", "write", "edit"]
}
Q5: 現在のプロファイルを確認するコマンドは?
A: OpenClaw に直接聞くのが最も簡単です:
session_status を教えて
または:
今の tools.profile 設定は何?
コマンドラインから確認する場合:
# 設定ファイルから直接確認
cat ~/.config/openclaw/config.json | grep -A 2 '"tools"'
# jq があれば
jq '.tools.profile' ~/.config/openclaw/config.json
じゃあ full にしたほうがいいの?
結論から言うと、普段使いなら coding で十分なことが多いです。
full は便利ですが、ベース制限がなくなるため、意図しない広い操作範囲を持たせやすくなります。個人ローカル専用で自分しか触らない環境なら選択肢になりますが、外部チャネルとつないでいるなら慎重に扱ったほうがよいでしょう。
coding と full の判断基準
| 質問 | coding で十分 | full を検討 |
|---|---|---|
| 自分専用のマシン? | どちらでもOK | どちらでもOK |
| Discord/Slack と接続? | はい | いいえ(避けるべき) |
| browser ツールが必要? | 追加設定で対応 | 自動的に利用可能 |
| 全ツールを試したい? | 一部使えない | 全て利用可能 |
原則: 必要最小限の権限で始めて、不足したら追加する
まとめ
OpenClaw が急に編集できなくなったときは、まず「壊れた」と考えるより、tools.profile が messaging になっていないか確認するのが近道です。
messaging は会話向け、coding はファイル編集・実行向け、full は制限なし。この違いを理解しておくと、原因の切り分けがかなり楽になります。設定ファイルは /path/to/openclaw-config.json、実際の指示ファイルは /path/to/openclaw-workspace 配下の AGENTS.md や SOUL.md を見る、という流れを覚えておけば、今後も対応しやすいはずです。
要点まとめ
- 症状: ファイル編集できない → tools.profile を疑え
- 原因: messaging プロファイルではファイル操作ツールが使えない
- 対処: coding プロファイルに変更して再起動
- 確認: テストファイルを作成して動作確認
- 原則: 必要最小限の権限で運用する
おすすめの関連書籍
OpenClawのようなAIエージェントを活用するために、基礎知識を深めたい方へ。
- 独習Python — AIツールの自動化スクリプト作成に必須
- Linuxコマンドライン入門 — ターミナル操作をマスターしてAIツールをフル活用
この記事が、OpenClaw のツールプロファイル設定で迷った時の助けになれば幸いです。


コメント