Skip to content

原文(日本語)

アンカーフラグメント付きの@メンション(例: @README.md#installation)でファイル解決が失敗する問題を修正しました。

原文(英語)

Fixed file resolution failing for @-mentions with anchor fragments (e.g., @README.md#installation)

概要

Claude Code v2.1.41では、@メンション機能が強化され、ファイル名にアンカーフラグメント(#section-name)を指定できるようになりました。これにより、ドキュメント内の特定のセクションを直接参照できるようになり、より正確なコンテキストでClaude Codeとやり取りできます。

問題の詳細

修正前の動作

以前は、アンカーフラグメント付きのファイル参照がエラーになっていました:

bash
# エラーになっていた例
> @README.md#installation について教えてください
# → ファイル解決エラー

> @docs/API.md#authentication の例を見せてください
# → ファイル解決エラー

修正後の動作

アンカーフラグメント付きの参照が正しく機能します:

bash
# 正常に動作するようになった例
> @README.md#installation について教えてください
# → README.mdのインストールセクションを参照

> @docs/API.md#authentication の例を見せてください
# → API.mdの認証セクションを参照

基本的な使い方

Markdownのセクション参照

bash
# READMEの特定セクションを参照
> @README.md#getting-started の手順に従ってセットアップしました

# ドキュメントの特定部分について質問
> @CONTRIBUTING.md#code-style のルールに従っていますか?

HTMLファイルのセクション参照

bash
# HTMLドキュメントのIDを参照
> @docs/index.html#features セクションを更新してください

# 特定の要素について質問
> @public/help.html#troubleshooting に新しい項目を追加

実践例

ドキュメント作成時の参照

他のドキュメントの特定セクションを参照しながら新しいドキュメントを作成:

bash
> @README.md#installation と同じスタイルで、
> DEPLOYMENT.mdのインストールセクションを書いてください

> @docs/API.md#error-handling のパターンを参考に、
> エラー処理のドキュメントを作成してください

コードレビュー時の参照

ドキュメントの特定セクションに準拠しているか確認:

bash
> このPRのコードが @CONTRIBUTING.md#naming-conventions
> に従っているか確認してください

> @docs/style-guide.md#component-structure の規約に
> 沿っているか教えてください

トラブルシューティング

ドキュメントの特定セクションに基づいて問題解決:

bash
> エラーが発生しました。@README.md#troubleshooting
> に該当する解決策はありますか?

> @docs/FAQ.md#database-connection の情報を参考に、
> 接続エラーを修正してください

機能実装時の仕様確認

仕様書の特定セクションを参照しながら実装:

bash
> @docs/spec.md#authentication-flow に記載されている
> フローを実装してください

> @ARCHITECTURE.md#data-layer の設計に従って、
> データアクセス層を実装してください

ドキュメント更新の依頼

特定セクションの更新を依頼:

bash
> @README.md#api-reference に新しいエンドポイント
> /api/v2/users を追加してください

> @CHANGELOG.md#unreleased セクションに
> 今日の変更を記録してください

アンカーフラグメントの形式

Markdownのセクション

Markdownでは、見出しが自動的にアンカーになります:

markdown
# Getting Started  → #getting-started
## Installation   → #installation
### Quick Start   → #quick-start

使用例:

bash
> @README.md#getting-started
> @docs/guide.md#quick-start

明示的なHTML ID

HTMLやMarkdownで明示的にIDが指定されている場合:

html
<h2 id="custom-id">セクション</h2>

使用例:

bash
> @docs/index.html#custom-id

複数ファイル・複数セクションの参照

複数のセクションを参照

bash
> @README.md#installation と @README.md#configuration
> の両方を確認してから、セットアップしてください

複数ファイルの同名セクション

bash
> @frontend/README.md#setup と @backend/README.md#setup
> の両方のセットアップ手順を実行してください

エディタとの連携

VS Codeでの使用

VS Codeのマークダウンプレビューと同じアンカー形式が使用できます:

bash
# VS Codeでジャンプできるリンクと同じ形式
> @docs/api.md#user-authentication

GitHub風のアンカー

GitHubのMarkdownと同じアンカー形式が利用可能:

bash
# GitHubのREADMEリンクと同じ
> @README.md#table-of-contents
> @CONTRIBUTING.md#pull-request-process

注意点

  • アンカーフラグメントは大文字小文字を区別します(環境による)
  • Markdownの見出しからアンカーを生成する際、スペースはハイフン(-)に変換されます
  • 特殊文字を含む見出しの場合、アンカーの形式がツールによって異なる場合があります
  • 存在しないアンカーを指定した場合でも、ファイル全体が読み込まれます
  • アンカーはあくまで"ヒント"として扱われ、Claude Codeは関連する周辺のコンテキストも参照する場合があります

トラブルシューティング

アンカーが見つからない場合

bash
# 見出しの形式を確認
> @README.md を開いて、正確な見出しを確認してください

# GitHubで確認
# GitHubのREADMEでリンクをクリックし、URLのアンカー部分を確認

特殊文字を含む見出し

bash
# 特殊文字は通常削除またはエンコードされる
"How to use?" #how-to-use
"C++ Guide" #c-guide

関連情報