Skip to content
Canopy is in pre-release. These docs describe the product at its public launch — commands, tool names, and integration examples reflect what you'll see once binaries ship. Join the waitlist →

Symbol Not Found

  • canopy answer "where is the function \X` defined?”` returns “No strong match in this repository” for a symbol you know exists.
  • A recently added function is not findable after indexing.
  • list functions defined in \dir/“ misses entries you expect.

CauseIndicator
File has not been indexed yetFile was added after the last canopy index run
File is excluded by ignore rulesFile shows up in canopy index --list-ignored
Phrasing didn’t lock the routerQuestion lacked the entity type or backticks
Symbol shape isn’t statically extractableDynamically generated / metaprogrammed symbols
Index is stale or damagedcanopy doctor shows a problem

The most common cause. Indexing is incremental and fast:

Terminal window
canopy index

If you use canopy serve --watch, changed files re-index automatically as you edit — a missing new symbol usually means the watcher isn’t running.

Canopy respects .gitignore, its bundled defaults, and .canopyignore. If the file is excluded, its symbols don’t exist to the index:

Terminal window
canopy index --list-ignored

If the file appears there, adjust .canopyignore (or pass the ignore-override flags — see canopy index --help) and re-index.

The router locks on when you name the entity type and backtick the symbol:

Terminal window
# Weak — falls through to semantic search
canopy answer "where is createSession"
# Strong — routed straight to the symbol locator
canopy answer "where is the function \`createSession\` defined?"

If the symbol lives in a specific file, be explicit:

Terminal window
canopy answer "show \`createSession\` in \`src/auth/session.ts\`"

Symbols created at runtime — dynamically defined methods, macro-generated functions, __getattr__-style dispatch — have no AST definition site to extract. For those, ask by meaning instead:

Terminal window
canopy answer "how does session creation work?"

The semantic recipe searches by content rather than by symbol table.

If canopy doctor shows the index present but answers stay wrong:

Terminal window
canopy index --full

This wipes and rebuilds the repo’s index completely.


Email support@gulfshieldtech.com with the output of canopy doctor and the exact question you asked.