
Tabby v1.0.230でWindowsユーザーを襲うプロセス作成エラー267の正体と完全復旧へのロードマップ
モダンなインターフェースと高い拡張性で知られるターミナルエミュレータであるTabbyにおいて、2026年4月にリリースされた最新バージョン1.0.230を適用したWindowsユーザーの間で、深刻な動作不良が報告されています。具体的には、ターミナル起動時にプロセス作成エラーが発生し、キーボード入力が一切受け付けられなくなるという、開発業務を根底から揺るがす事態に発展しています。本稿では、この「Error 267」がなぜ発生するのか、そして現在判明している暫定的な回避策から、技術的な背景にあるWindows APIの挙動までを徹底的に解説します。同様の症状に悩むエンジニアにとって、本記事が迅速な環境復旧の一助となることを確信しています。
- 突如として機能停止に陥ったモダンターミナル
- 現象の詳細とエラーコード267が意味するもの
- 技術的深掘りとConPTYの影響
- Electron基盤におけるレンダリングと内部不整合
- 具体的解決策と設定変更手順
- 現行バージョンにおける不具合発生状況の比較
- 開発環境への影響とClink利用時の注意点
- 安定した開発環境を維持するために
- まとめ
突如として機能停止に陥ったモダンターミナル
開発者にとって、ターミナルは呼吸をするのと同じくらい重要なツールです。特にTabbyはその洗練されたデザインとプラグインシステムにより、多くのパワーユーザーを抱えています。しかし、バージョン1.0.230へのアップデートを境に、多くのWindows環境で「文字が打てない」「画面が固まる」といった致命的な不具合が頻発するようになりました。
この問題の最大の特徴は、単にアプリが落ちるのではなく、ターミナルの枠組みだけが表示され、内部のシェルプロセスが正常に紐付いていない状態になる点にあります。ユーザーがコマンドを打ち込もうとしてもカーソルすら動かず、ウィンドウ下部には不穏なエラーメッセージが吐き出されます。この現象は、Windows 10および11の両OSで確認されており、特定のプロファイル設定が引き金となっていることが判明しました。
現象の詳細とエラーコード267が意味するもの
発生しているエラーの核心は、プロセス生成に失敗した際に返される「Error: Cannot create process, error code: 267」というメッセージに集約されます。Windowsのシステムエラーコードにおいて、267は「ディレクトリ名が無効です(ERROR_DIRECTORY_NAME)」を指します。
通常、ターミナルが新しいセッションを開始する際、指定された作業ディレクトリに移動してからシェルを起動します。しかし、バージョン1.0.230では、特定の条件下でこのパス解決に失敗しているか、あるいはシェルを仲介するコンポーネントが正しいパス情報を保持できない状態に陥っています。さらに、ログには「NtQueryInformationProcess failed to fetch ProcessBasicInformation」という記録も残されており、これはOSのカーネルレベルに近い部分でプロセスの基本情報を取得しようとして拒絶されたことを示唆しています。
技術的深掘りとConPTYの影響
今回の不具合の主犯として疑われているのが、Windowsが提供する擬似コンソールAPIである「ConPTY」です。かつてのWindowsはターミナルの制御が非常に困難でしたが、ConPTYの登場により、LinuxやmacOSのような高度な端末制御が可能になりました。Tabbyもこの恩恵を受けていますが、新バージョンにおける実装の変更が、ConPTYとの通信プロトコルに齟齬を生じさせた可能性があります。
特に、Clinkなどのシェル拡張機能を組み込んだプロファイルや、特定のカスタムシェルを使用している場合にエラーが顕在化しやすい傾向があります。これは、Clinkが標準のcmd.exeの挙動をフックして動作するため、Tabby側で行われたプロセスの監視や情報取得のロジック変更と衝突し、結果として「ディレクトリの解決不能」という形でエラーが表面化していると考えられます。
Electron基盤におけるレンダリングと内部不整合
TabbyはElectronをベースとしたアプリケーションですが、今回のエラーログには興味深い警告が含まれていました。Node.jsのvmモジュールがRendererプロセス内でサポートされなくなるという警告です。これは直接的な原因ではないにせよ、アプリケーションの内部構造がBlinkレンダリングエンジンとの互換性を保つために大規模な再編を行っている最中であることを示しています。
こうした基盤部分のアップデートと、Windows固有のプロセス管理ロジックの更新が重なったことが、今回の壊滅的なバグを招いた一因と言えるでしょう。特に非同期処理のタイミングのずれにより、プロセスのハンドルが確立される前に情報の問い合わせが行われ、OS側が「無効な操作」としてエラー267を返しているシナリオが有力です。
具体的解決策と設定変更手順
現在、開発チームによる正式な修正パッチが待たれる状況ですが、ユーザー側で実行可能な回避策が既に発見されています。この問題を解決するためには、一時的にモダンな機能を一部制限し、安定性を優先する設定変更が必要です。以下の手順に従って、設定を調整してください。
-
Tabbyの設定画面(Settings)を開きます。
-
左側のメニューから「Terminal」セクションを選択します。
-
「Windows」タブ、あるいは詳細設定項目の中から「Use ConPTY」というチェックボックスを探します。
-
この「Use ConPTY」のチェックを外し、機能をオフにします。
-
プロファイル設定(Profiles & connections)に移動し、問題が発生しているプロファイル(local:cmd-clinkなど)から、よりシンプルな「local:cmd」等に切り替えます。
-
Tabbyを一度完全に終了し、再起動します。
これにより、エラーの原因となっていた高度なプロセス制御ロジックがバイパスされ、従来の安定した方式でターミナルが起動するようになります。ただし、この設定変更により、一部の表示崩れや特殊なエスケープシーケンスの処理が制限される可能性がある点には留意が必要です。
現行バージョンにおける不具合発生状況の比較
以下の表は、Tabby v1.0.230における設定の組み合わせと、エラー発生リスクの相関をまとめたものです。ご自身の環境と照らし合わせて確認してください。
この表から分かる通り、ローカルのWindowsシェルをConPTY経由で高度に制御しようとする構成において、最も顕著に不具合が発生しています。逆に、WSL(Windows Subsystem for Linux)やSSHを経由した接続では、バックエンドの挙動が異なるため、この問題の影響を受けにくいことが確認されています。
開発環境への影響とClink利用時の注意点
Windowsで快適なコマンドライン環境を構築するために、多くのユーザーがClinkを導入しています。Clinkは行編集機能や補完機能を強力にサポートしますが、その仕組みはcmd.exeのプロセスに動的にライブラリをインジェクトするという、非常にセンシティブなものです。
今回のTabbyのアップデートにより、プロセス開始時のディレクトリ検証が厳格化、あるいは変更されたことで、Clinkが介在するプロセス生成のタイミングが「不正なディレクトリ名」として誤認されるケースが増えています。もし上記の設定変更でも改善しない場合は、一時的にClinkの自動読み込みを無効化したプレーンなcmd.exeプロファイルを作成し、動作を確認することをお勧めします。
安定した開発環境を維持するために
今回のTabby v1.0.230におけるエラー267は、ソフトウェアが進化する過程で避けられない「成長痛」のようなものと言えます。特にConPTYのような新しい技術を積極的に取り入れるモダンなツールにおいては、OS側のAPIアップデートや内部的なリファクタリングの影響を強く受けます。
ユーザーとしては、こうしたトラブルに直面した際、パニックにならずに設定のダウングレード(今回の場合はConPTYのオフ)を行う柔軟さが求められます。また、重要な業務を行っている環境では、最新バージョンがリリースされた直後に飛びつくのではなく、数日の様子見期間を設ける、あるいはポータブル版を併用して旧バージョンをいつでも起動できるようにしておくといった、防衛策を講じることが重要です。
まとめ
Tabbyは非常に優れたツールであり、今回のバグも遠くないうちに修正されることは間違いありません。しかし、その時を待つ間もコードは書かれ、プロジェクトは進まなければなりません。本記事で紹介したConPTYの無効化というアプローチは、あくまで暫定的なものですが、現時点で作業を再開するための最も確実な道筋です。
エンジニアリングの世界では、ツールに振り回されるのではなく、ツールの特性を理解して制御することが求められます。今回のエラーコード267という聞き慣れない数字も、その背景にあるWindowsのプロセス管理や、ターミナルエミュレータの構造を学ぶための良い契機と捉えることができるでしょう。次期アップデートであるv1.0.231以降で、再びConPTYによる快適な操作性が戻ってくることを期待しつつ、今は安定した環境で着実にタスクをこなしていきましょう。