Skip to content

Agent Tools

The GitHub agent provides 6 tools for searching and navigating code:

ToolDescriptionKey Parameters
searchCodeRegex-based code search across indexed repositories. Supports Zoekt file: and -file: syntax for path filtering.query, repo_filter, language_filter, file_filter, file_exclude, limit
readFilesRead full file contents with line numbers from indexed repositories.paths, repository
findSymbolDefinitionsFind where a symbol (function, class, variable) is defined using language-specific patterns.symbol, language, repository
findSymbolReferencesFind all references to a symbol across the codebase using word-boundary matching.symbol, language, repository
ToolDescriptionKey Parameters
searchReposFuzzy search for repository names.query, limit
listAllReposList all indexed repositories.None

Prefix your query with /github to route directly to the GitHub agent, bypassing the workflow classification:

/github Where is the authentication middleware defined?

The GitHub agent operates as an autonomous agentic loop with built-in limits to prevent infinite tool calls:

SettingDefaultDescription
github_max_steps12Maximum tool calls per agent invocation
github_warning_step_ratio0.8Warn the agent when 80% of steps are used
github_temperature0.3LLM temperature for focused, deterministic responses
github_timeout_seconds60Per-API-call timeout; overall agent execution timeout is 120s

The agent uses inline citations in the format @file:{repo::path:startLine-endLine}. These are automatically converted to clickable GitHub URLs in a Sources section appended to every response:

Sources:
- https://github.com/org/repo/blob/HEAD/src/auth/middleware.py#L42-L58
- https://github.com/org/repo/blob/HEAD/src/utils/helpers.py#L10-L25

All searches are automatically scoped to the configured github_org. Repo-level exclusions are applied both in search queries and as post-fetch filters.

The integration uses three layers of rate limit protection:

LayerBehavior
Proactive throttlingTracks GitHub API x-ratelimit-remaining headers. Starts throttling when remaining requests fall below the buffer threshold (default: 100). Enforces minimum delay between search requests (default: 2 seconds).
Reactive backoffOn 429 or rate-limit 403 responses, applies exponential backoff with jitter (base 2s, max 60s). Respects Retry-After header. Up to 3 retry attempts.
Graceful degradationIf rate limits are exhausted, search tools return empty results instead of failing. The agent reports the limitation to the user.

All rate limit settings are configurable via the Admin UI and support hot-reload:

SettingDefaultRangeDescription
github_default_max_results201–100Default max results per search
github_max_search_concurrent21–10Max concurrent search API requests
github_search_min_delay2.0s0–10sMin delay between search requests
github_max_retries30–10Retry attempts on rate limit errors
github_retry_base_delay2.0s0–10sExponential backoff base
github_retry_max_delay60s10–300sMaximum retry delay
github_core_buffer_threshold10010–1000Throttle when remaining requests below this
github_search_cache_ttl60s0–3600sSearch result cache duration
EndpointMethodDescription
GET /api/connectors/githubGETGet GitHub connector status and configuration
PATCH /api/connectors/githubPATCHEnable/disable the GitHub connector (hot-reload)
GET /healthGETSystem health check including GitHub connectivity