[FEATURE] Extensible symbol triggers for custom autocomplete (like @ but user-defined)
Summary
Allow users to define custom symbol triggers (e.g., $, #, ~) that invoke user-defined autocomplete behavior, similar to how @ currently triggers file path completion.
Why This Matters
The @ mention for files is one of Claude Code's most useful input features — making it extensible would multiply its value. Users could define their own single-character triggers that surface contextual suggestions relevant to their workflow, without needing to remember and type full slash command names.
This would be a natural extension point that aligns with Claude Code's existing skill/plugin architecture.
Example Use Cases
- Sibling project folders:
$could list other projects in the same parent directory for quick cross-project referencing - Environment/deployment targets:
#could suggeststaging,production,devwith associated context - Team members or reviewers:
~could autocomplete teammate names for PR assignments or mentions - Database tables or API endpoints: A symbol could surface schema or route names
- Jira/Linear tickets: A symbol could autocomplete recent or assigned issue keys
Proposed Design
Similar to how hooks run user-defined scripts in response to events, each symbol trigger could invoke a script that returns completion candidates (one per line on stdout). Claude Code would then render these in its built-in autocomplete menu — the same UI used for @ file mentions — so the user can filter and select interactively.
For example in .claude/settings.json:
{
"symbolTriggers": {
"$": {
"command": "ls ../",
"description": "Sibling projects"
}
}
}
The script provides the data, Claude Code provides the picker. This keeps the implementation simple and infinitely flexible — any language, any data source.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗