Serena Tool Guide
Semantic code analysis. Searches and edits at symbol level without reading entire files.
Core Tools
find_symbol
Locate class, function, or variable definitions.
Examples:
- •"Where is the UserService class defined?"
- •"Find the authenticate function definition"
search_for_pattern
Search for code patterns or strings.
Examples:
- •"Find all TODO comments"
- •"Locate all API endpoint usages"
edit_symbol
Edit at symbol level without loading entire files.
find_referencing_symbols
Track symbol references and dependencies.
Examples:
- •"Show all callers of this function"
- •"Find dependency chain"
When to Use
- •Large codebases (100+ files)
- •Semantic search (understanding code meaning)
- •Refactoring (precise edits required)
- •Dependency tracking
- •Code structure analysis
Common Workflows
Code understanding:
- •
find_symbolto locate main classes/functions - •
find_referencing_symbolsto trace callers - •Build overall understanding
Refactoring:
- •
find_symbolto identify target - •
edit_symbolto modify - •
find_referencing_symbolsto verify impact
Bug fixing:
- •
search_for_patternto find error-related code - •
find_symbolto examine details - •
edit_symbolto fix
Examples
User: Find authentication code
Agent: Uses Serena to search for authentication-related code and explains
User: What calls UserService?
Agent: Shows all references
User: Refactor this code
Agent: Analyzes impact and proposes changes