Skip to content

TaskStopツールの説明表示改善(タスク内容を明示)

原文(日本語に翻訳)

TaskStopツールを改善し、汎用的な「タスクが停止されました」メッセージの代わりに、停止されたコマンド/タスクの説明を結果行に表示するようにしました。

原文(英語)

Improved TaskStop tool to display the stopped command/task description in the result line instead of a generic "Task stopped" message

概要

バックグラウンドタスクを停止する際、TaskStop ツールの結果メッセージが「Task stopped」という汎用的なものから、実際に停止されたコマンドやタスクの具体的な説明を表示するように改善されました。これにより、何が停止されたのかが一目で分かるようになりました。

基本的な使い方

改善された停止メッセージ

bash
# バックグラウンドでタスクを実行
claude

> "バックグラウンドでテストを実行して"

# 内部的に実行:
# bash: npm test &
# Task ID: task-123

# タスクを停止
> "さっきのテストを停止して"

# 以前のメッセージ:
# ✓ Task stopped

# 改善後のメッセージ:
# ✓ Stopped: npm test

実践例

長時間実行タスクの管理

複数のバックグラウンドタスクを実行中:

bash
claude

# タスク1: ビルド
> "バックグラウンドでビルドを実行して"
# Task ID: task-456
# Running: npm run build

# タスク2: テスト監視
> "バックグラウンドでテストを監視して"
# Task ID: task-789
# Running: npm run test:watch

# タスク3: 開発サーバー
> "バックグラウンドで開発サーバーを起動して"
# Task ID: task-012
# Running: npm run dev

# タスクリストを確認
/tasks

# 出力:
# 1. task-456: npm run build
# 2. task-789: npm run test:watch
# 3. task-012: npm run dev

# 特定のタスクを停止
> "テスト監視を停止して"

# 以前の不明瞭なメッセージ:
# ✓ Task stopped

# 改善後の明確なメッセージ:
# ✓ Stopped: npm run test:watch (task-789)

エージェントタスクの停止

バックグラウンドエージェントを停止:

bash
claude

# バックグラウンドエージェントを起動
> "Exploreエージェントをバックグラウンドで起動して、コードベースを分析させて"

# Agent ID: agent-abc
# Task: Exploring codebase for authentication patterns

# 停止する
> "Exploreエージェントを停止して"

# 以前:
# ✓ Task stopped

# 改善後:
# ✓ Stopped: Explore agent - analyzing codebase for authentication patterns (agent-abc)

複雑なコマンドの停止

長いコマンドライン引数を持つタスク:

bash
> "バックグラウンドで大量のファイルを検索して"

# 実行中:
# find . -type f -name "*.ts" -not -path "*/node_modules/*" -exec grep -l "authentication" {} \;

# 停止
> "ファイル検索を停止して"

# 以前:
# ✓ Task stopped

# 改善後:
# ✓ Stopped: find . -type f -name "*.ts" -not -path "*/node_modules/*" -exec grep -l "authentication" {} \;

# 長いコマンドは適切に切り詰められる:
# ✓ Stopped: find . -type f -name "*.ts" -not -path "*/node_modules/*"...

エラーハンドリングの改善

存在しないタスクを停止しようとした場合:

bash
> "task-999を停止して"

# 以前:
# ✗ Task stopped failed

# 改善後:
# ✗ Task task-999 not found. Active tasks:
#   - task-456: npm run build
#   - task-789: npm run dev

自動停止の明確化

セッション終了時の自動停止:

bash
# バックグラウンドタスク実行中
# task-111: npm run dev
# task-222: npm run test:watch

# Claude Code終了
exit

# 以前:
# Stopping background tasks...
# ✓ Task stopped
# ✓ Task stopped

# 改善後:
# Stopping background tasks...
# ✓ Stopped: npm run dev (task-111)
# ✓ Stopped: npm run test:watch (task-222)

デバッグとログ記録

停止履歴の確認が容易に:

bash
# セッションログを確認
cat ~/.claude/sessions/current/log.txt

# 以前のログ:
# [10:30:15] Task stopped
# [10:31:20] Task stopped
# [10:32:45] Task stopped
# → どのタスクが停止されたか不明

# 改善後のログ:
# [10:30:15] Stopped: npm run build
# [10:31:20] Stopped: npm run test:watch
# [10:32:45] Stopped: find . -name "*.log"
# → 停止されたタスクが明確

注意点

  • TaskStop ツールとは: バックグラウンドで実行中のタスク(bashコマンド、エージェント、リモートセッションなど)を停止するためのツール。

  • タスクの識別:

    • Task ID: task-123 形式の一意な識別子
    • Description: コマンド内容またはタスクの説明
    • Type: bash、agent、remote session など
  • 説明の切り詰め: 非常に長いコマンドは、読みやすさのために適切に切り詰められます(通常80文字程度)。

  • 複数タスクの一括停止:

    bash
    > "すべてのバックグラウンドタスクを停止して"
    
    # 改善後:
    # ✓ Stopped: npm run build (task-456)
    # ✓ Stopped: npm run test:watch (task-789)
    # ✓ Stopped: npm run dev (task-012)
    # All 3 background tasks stopped
  • タスク出力の確認: 停止前にタスクの出力を確認したい場合:

    bash
    # TaskOutputツールで出力を取得
    > "task-456の出力を確認して"
    
    # 出力を確認後、停止
    > "task-456を停止して"
  • 関連コマンド:

    • /tasks: アクティブなタスク一覧
    • TaskOutput: タスクの出力を取得
    • TaskStop: タスクを停止
  • VSCode拡張での表示: VSCode拡張でも同様に改善されており、Output パネルに停止されたタスクの詳細が表示されます。

関連情報