
Claude Code と Nushell|起動エラーの回避策と Skill 活用
Rust 製の次世代シェル Nushell は、テキストではなく構造化データを扱う独自のアプローチが評判を呼び、エンジニアの間で採用が広がっている。一方で、Claude Code を Nushell 環境で動かそうとすると起動エラーが発生するという問題も報告されている。この記事では、Claude Code × Nushell の互換性問題と回避策、そして Claude Code Skills を使って Nushell スクリプト開発を効率化する方法を解説する。
目次 (8)
Nushell とは — Rust 製の構造化シェル
Nushell(nu)は、Rust で書かれたクロスプラットフォームのモダンシェルだ。従来のシェル(Bash/Zsh/Fish)がコマンド出力をプレーンテキストとして扱うのに対し、Nushell はテーブル・リスト・レコードといった 構造化データ として扱うのが最大の特徴である。
# Nushellでプロセス一覧をCPU使用率でソート
ps | sort-by cpu | last 5
このように、パイプで渡されるデータが型付きのテーブルとなり、sort-by、where、select などのコマンドで絞り込みや変換が直感的に行える。Windows / macOS / Linux のすべてに対応しており、公式サイト(https://www.nushell.sh/)からインストールできる。
Claude Code と Nushell の互換性問題
2026年に入り、Claude Code を Nushell 上で起動しようとするとクラッシュする不具合が報告された。GitHub の anthropics/claude-code リポジトリには、Issue #2732「Can't launch when using nushell」として記録されており、macOS 15.5 + Claude Code v1.0.35 の環境での再現が確認されている。
(https://github.com/anthropics/claude-code/issues/2732)
原因は、Claude Code の内部処理が Bash / Zsh の構文を前提としており、Nushell の独自コマンドシステムと互換性を持たない点にある。Nushell のコマンド解析方式は従来のシェルと大きく異なるため、Claude Code が起動スクリプトを実行する際にエラーが発生する。
起動エラーの回避策
Nushell をデフォルトシェルとして使っている場合でも、以下のいずれかの方法で Claude Code を利用できる。
-
Bash から起動する — ターミナルで
bashを実行して Bash セッションを開始し、そこからclaudeコマンドを呼び出す。最もシンプルな方法だ。 -
環境変数で SHELL を上書きする — Nushell の設定ファイル(
~/.config/nushell/env.nu)に以下を追記し、Claude Code 起動時のみ Bash を使わせる。$env.SHELL = "/bin/bash" -
エイリアスでラップする — Nushell の設定に以下のようなエイリアスを定義し、内部で Bash 経由で実行する。
alias claude = bash -c "claude $in" -
tmux / screen を介する — Bash セッションを tmux で起動し、その中で Claude Code を常駐させる構成。ターミナルマルチプレクサを活用することでシームレスに使い分けられる。
いずれの方法も、Nushell のインタラクティブな操作環境を維持しつつ Claude Code のフル機能を使える。Anthropic 側も Issue を認識しており、今後のバージョンで公式対応が期待される。
Claude Code Skills for Nushell とは
Claude Code には「Skills」と呼ばれる拡張パッケージがあり、特定のドメイン知識を Claude Code に付与できる仕組みだ。Nushell 向けの Skills が複数公開されており、Nushell スクリプトの開発効率を大幅に高められる。
MCP Market(https://mcpmarket.com/tools/skills/nushell-master)では、以下の Skills が公開されている。
- Nushell for Claude Code(nushell-master) — Claude Code を Nushell のエキスパートとして振る舞わせる。パイプライン設計、型システム、カスタムコマンド定義など Nushell 特有の記法に精通した状態で補完・生成が行える。
- Nushell Fundamentals(https://mcpmarket.com/tools/skills/nushell-fundamentals) — 基礎的な Nushell スクリプティングに特化。環境変数の扱い、ファイル操作、データ変換など入門レベルから体系的に学べる。
Claude Marketplaces(https://claudemarketplaces.com/skills/hustcer/nushell-pro/nushell-pro)には Nushell Pro Skill も登録されており、571 インストール・5 星評価という高い実績を持つ。
Nushell Skill のインストールと有効化
Claude Code Skills のインストール手順は以下の通りだ。
- Claude Code の設定ファイル(
.claude/settings.json)を開く。 skillsセクションに対象 Skill のパスまたは識別子を追加する。- Claude Code を再起動し、Skill が有効になっていることを確認する。
Skill を有効にすると、Claude Code は Nushell の構文・慣用句・ベストプラクティスを把握した状態でコードを生成する。Bash とは異なる for i in 0..10 形式のループや、|> table パイプラインなど、Nushell 固有の記法を正確に扱えるようになる。
Claude を使って Nushell スクリプトを書く実践例
Skill を使わない場合でも、Claude(claude.ai)に Nushell コードの生成を依頼できる。プロンプトで「Nushell で書いて」と明示するだけで、Bash ではなく Nu 構文のコードを返してくれる。
たとえば、「ディレクトリ内の .log ファイルを日付でソートして古い順に削除する Nushell スクリプトを書いて」と依頼すると、次のようなコードが生成される。
# .logファイルを修正日時でソートして古い順に削除
ls *.log
| sort-by modified
| each { |f| rm $f.name; print $"Deleted: ($f.name)" }
Bash の find ... -exec rm と比べて、パイプラインが直感的で読みやすい。Claude はこの構造化データの流れを理解しており、型安全なコードを生成できる。
Nushell + Claude の活用シナリオ
Claude と Nushell を組み合わせると効果的な場面をいくつか挙げる。
- ログ解析 — Nushell の
open、where、group-byと Claude の解析力を組み合わせ、構造化ログの集計スクリプトを素早く生成できる。 - CI / CD スクリプト移行 — 既存の Bash スクリプトを Nushell に書き直す際、Claude に「このスクリプトを Nushell に変換して」と依頼するだけで大半を自動変換できる。
- データ変換パイプライン — CSV / JSON / YAML の変換処理を Nushell のネイティブ型システムで書き、Claude がパイプラインの設計を支援する。
- 開発環境の自動化 — プロジェクトセットアップや依存関係チェックを Nu スクリプトで実装し、Claude がバグ修正や機能追加を行う。
まとめ
Claude Code と Nushell の組み合わせは、現時点で起動互換性の問題があるものの、Bash 経由で起動する回避策で実用できる。Claude Code Skills の Nushell 向けパッケージを活用すれば、Nu スクリプトの生成精度が大きく向上する。また、Skill がなくても claude.ai 上で「Nushell で」と明示することで、構造化データを活かした Nu 構文のコードを得られる。Nushell の採用増加に合わせて、Anthropic 側での公式対応も期待される。