System limits and constraints for Probe CLI and Probe Agent.
| Limit | Default | Configuration |
|---|
| Max results | Unlimited | --max-results N |
| Max bytes | Unlimited | --max-bytes N |
| Max tokens | Unlimited | --max-tokens N |
| Timeout | 30 seconds | --timeout N |
| Limit | Default | Configuration |
|---|
| Block merge distance | 5 lines | --merge-threshold N |
| Limit | Default | Description |
|---|
| Cache size | Automatic | Based on available memory |
| Session lifetime | Until invalidation | Invalidated on file changes |
| Limit | Default | Configuration |
|---|
| Max iterations | 30 | maxIterations option |
| Limit | Default | Configuration |
|---|
| Request timeout | 120,000 ms | requestTimeout option |
| Operation timeout | 300,000 ms | maxOperationTimeout option |
| Engine activity | 180,000 ms | ENGINE_ACTIVITY_TIMEOUT env |
Engine Activity Timeout Range:
- Minimum: 5,000 ms (5 seconds)
- Maximum: 600,000 ms (10 minutes)
- Default: 180,000 ms (3 minutes)
| Limit | Default | Configuration |
|---|
| Concurrent global | 3 | MAX_CONCURRENT_DELEGATIONS |
| Per session | 10 | MAX_DELEGATIONS_PER_SESSION |
| Queue timeout | 60,000 ms | DELEGATION_QUEUE_TIMEOUT |
| Execution timeout | 300 seconds | DELEGATION_TIMEOUT |
| Limit | Default | Configuration |
|---|
| Max retries | 3 | retry.maxRetries |
| Initial delay | 1,000 ms | retry.initialDelay |
| Max delay | 30,000 ms | retry.maxDelay |
| Backoff factor | 2 | retry.backoffFactor |
Retry Limits Range:
- Max retries: 0-100
- Initial delay: 0-60,000 ms
- Max delay: 0-300,000 ms
- Backoff factor: 1-10
| Limit | Default | Configuration |
|---|
| Max total attempts | 10 | fallback.maxTotalAttempts |
Range: 1-100
| Limit | Default | Configuration |
|---|
| Request timeout | 30,000 ms | settings.timeout |
| Max timeout | 1,800,000 ms | MCP_MAX_TIMEOUT |
Max Timeout Range:
- Minimum: 30,000 ms (30 seconds)
- Maximum: 7,200,000 ms (2 hours)
- Default: 1,800,000 ms (30 minutes)
| Provider | Model | Context Window |
|---|
| Anthropic | Claude Sonnet | 200,000 tokens |
| Anthropic | Claude Haiku | 200,000 tokens |
| OpenAI | GPT-4o | 128,000 tokens |
| OpenAI | GPT-4o-mini | 128,000 tokens |
| Google | Gemini 1.5 Pro | 1,000,000+ tokens |
| Google | Gemini 2.0 Flash | 1,000,000+ tokens |
| Limit | Value | Description |
|---|
| Skill name length | 64 characters | Maximum skill name |
| Description length | 400 characters | Auto-truncated |
| Skill name pattern | [a-z0-9-]+ | Lowercase alphanumeric + hyphens |
| Limit | Description |
|---|
| Task ID format | task-1, task-2, ... |
| Dependencies | Must reference existing task IDs |
| Circular dependencies | Not allowed |
| Limit | Value | Description |
|---|
| Max file size | 20 MB | Per image |
| Supported formats | PNG, JPG, JPEG, WebP, BMP, SVG | |
| Limit | Default | Configuration |
|---|
| Command timeout | 120,000 ms | --bash-timeout |
For codebases with 100,000+ files:
- Use result limits:
--max-results 100
- Use session pagination:
--session my-search
- Use language filters:
--language rust
- Increase Node.js memory:
NODE_OPTIONS=--max-old-space-size=8192
| Setting | Default | Configuration |
|---|
| Pool size | CPU cores | PROBE_PARSER_POOL_SIZE |
| Tree cache | Automatic | PROBE_TREE_CACHE_SIZE |
Rate limits are provider-specific. Common responses:
| Error Code | Description | Solution |
|---|
| 429 | Rate limit exceeded | Enable retry with backoff |
| 503 | Service overloaded | Enable fallback to alternative |
const agent = new ProbeAgent({
retry: {
maxRetries: 3,
initialDelay: 1000,
backoffFactor: 2
}
});
# For AI context windows
probe search "query" ./ --max-tokens 10000
# For large results
probe search "query" ./ --max-results 50 --session my-search
# First batch
probe search "api" ./ --session api-search --max-results 100
# Subsequent batches
probe search "api" ./ --session api-search --max-results 100
const agent = new ProbeAgent({
requestTimeout: 120000, // 2 minutes per request
maxOperationTimeout: 600000 // 10 minutes total
});
// Monitor token usage
const usage = agent.getTokenUsage();
if (usage.contextWindow > 150000) {
await agent.compactHistory();
}