what_breaks
Analyze potential code breaks by identifying all references to a specific function, class, or symbol across your codebase. Use this tool to assess the impact of changes before implementing updates.
Instructions
💥 STEP 3: See what code might break if you change this symbol.
USE THIS AFTER find_symbol() to understand the impact of changing a function/class. Shows you every place in the codebase where this symbol name appears.
INPUT:
- exact_symbol: Pass THE ENTIRE SYMBOL OBJECT from find_symbol(), not just the name! Must be a dictionary with AT LEAST 'name' and 'path' keys.
EXAMPLE INPUT:
First, get a symbol from find_symbol():
symbols = find_symbol("/Users/john/project", "authenticate") symbol = symbols[0] # Pick the first result
Then pass THE WHOLE SYMBOL OBJECT:
what_breaks(symbol)
or directly:
what_breaks({ "name": "authenticate_user", "type": "function", "path": "/Users/john/project/src/auth.py", "start_line": 45, "end_line": 67 })
EXAMPLE OUTPUT: { "references": [ { "file": "/Users/john/project/src/api.py", "line": 23, "text": " user = authenticate_user(username, password)" }, { "file": "/Users/john/project/tests/test_auth.py", "line": 45, "text": "def test_authenticate_user():" } ], "total_count": 2, "note": "Found 2 potential references based on a text search for the name 'authenticate_user'. This may include comments, strings, or other unrelated symbols." }
⚠️ IMPORTANT: This does a text search for the name, so it might find:
- Actual function calls (what you want!)
- Comments mentioning the function
- Other functions/variables with the same name
- Strings containing the name
Review each reference to determine if it's actually affected.
Input Schema
Name | Required | Description | Default |
---|---|---|---|
exact_symbol | Yes |