Code Search
Search documentation comments on symbols using natural language.- JavaScript/TypeScript
- Python
- Rust
new(), Default, impl, or abbreviated names like above. Semantic search finds them through their documentation, not the name.
Basic Search
Search with Context
[symbol_id:X] for follow-up queries.
Language Filtering
Filter results by programming language:Document Search
Search markdown and text files indexed in collections.Writing Good Queries
Be specific:- Bad: “error”
- Good: “error handling in file operations”
- Bad: “make things fast”
- Good: “performance optimization for indexing”
- Bad: “parse”
- Good: “parse TypeScript import statements”
Understanding Scores
Similarity scores range from 0 to 1:
Use threshold to filter weak results:
Remote Embedding Backend
Use an OpenAI-compatible HTTP embedding server instead of the local fastembed model. Supports OpenAI, Ollama, vLLM, Infinity, and any server implementingPOST /v1/embeddings.
Configuration
Set environment variables to enable remote mode:settings.toml (except the API key, which is env-var only):
settings.toml.
Switching Between Local and Remote
When you change embedding backends, the stored index dimension may not match the new backend. Codanna detects this and disables semantic search with an error:--force to rebuild with the new backend:
Tested Providers
Next Steps
Relationships
Trace calls, callers, and impact.
Tool Tiers
Which tool to use when.