Skip to content

原文(日本語に翻訳)

削除後にタスクIDが再利用される可能性がある問題を修正

原文(英語)

Fixed task IDs potentially being reused after deletion

概要

バックグラウンドタスクを削除した後、そのタスクIDが新しいタスクに再利用されてしまう問題が修正されました。この問題により、削除したはずのタスクIDで新しいタスクが開始されると、タスクの出力や状態管理が混乱し、予期しない動作や誤った結果が表示される可能性がありました。v2.1.21では、タスクIDが一意に保たれ、削除されたIDが再利用されることはなくなりました。

基本的な使い方

バックグラウンドタスクの管理が安全に行えるようになりました。タスクの削除と新規作成を繰り返しても、IDの競合は発生しません。

bash
# タスク一覧の確認
/tasks

# 特定のタスクを削除
/task delete <task-id>

# 新しいタスクを開始(削除されたIDは再利用されない)

実践例

バックグラウンドタスクの管理

複数のバックグラウンドタスクを実行し、一部を削除する場合:

bash
$ claude code
> テストをバックグラウンドで実行して
[Task 1: Running tests...]

> ビルドもバックグラウンドで実行
[Task 2: Building project...]

# タスク1が完了したので削除
> /task delete 1

# 新しいタスクを開始
> リントもバックグラウンドで実行
[Task 3: Running linter...]  # v2.1.21: 必ず新しいID (3) が割り当てられる
                              # v2.1.20以前: ID 1が再利用される可能性があった

長時間実行タスクの入れ替え

不要になったタスクを削除し、新しいタスクを開始する場合:

bash
$ claude code
> 大規模なデータ処理をバックグラウンドで実行
[Task 5: Processing data...]

# 処理が不要になったため削除
> /task delete 5

> 別のデータセットを処理して
[Task 6: Processing new dataset...]  # 削除されたID 5は再利用されない

タスク出力の確認

削除したタスクのIDが再利用されないため、出力の混同が防止されます:

bash
# タスク7の出力を確認
> /task output 7
[Task 7の正しい出力が表示される]

# タスク7を削除
> /task delete 7

# 新しいタスクを複数開始
# たとえタスク8, 9と続いても、ID 7は再利用されない
# これにより、古いログや出力ファイルとの混同が防止される

注意点

  • この修正はv2.1.21で適用されました
  • タスクIDは単調増加し、削除されたIDは二度と使用されません
  • 長時間の使用でタスクIDが大きな数値になる可能性がありますが、これは正常な動作です
  • タスク削除後も、そのタスクの出力ファイルは一定期間保持される場合があります
  • /tasks コマンドで現在のアクティブなタスクを確認できます
  • この問題により以前のバージョンで出力の混同が発生していた場合、v2.1.21にアップデート後は解消されます

関連情報