Agent tools CLI
API reference for the `143-tools` commands available to coding agents.
Coding agents call 143-tools from inside the sandbox to query connected integrations without handling provider credentials directly. The available commands depend on which integrations are configured for the session, so 143-tools --help is the source of truth at runtime.
CLI contract
Agent-facing commands use a hierarchical shape:
143-tools <namespace> <action> [--flag value ...]
143-tools <namespace> --help
143-tools <namespace> <action> --help
143-tools --helpResults are printed to stdout, usually as JSON. Flags map directly to the tool input schema. Array flags use comma-separated values, for example --states triage,in_progress. Boolean flags accept true or false.
Flat command names such as sentry_list_errors, linear_get_task, log_query, and create_pr are no longer supported. Error messages include the new command shape and the help command the agent should run next.
Use jq when scanning result sets:
143-tools linear list_tasks --team ENG --limit 25 | jq '.[].identifier'Namespaces
Only configured namespaces appear in 143-tools --help.
| Namespace | Commands |
|---|---|
sentry | list_errors, get_error, get_error_trend, find_related_errors |
linear | list_tasks, get_task, find_related_tasks, update_task, create_task |
notion | search_documents, get_document |
github | list_recent_prs, get_pr_reviews |
circleci | list_flaky_tests, get_job_test_results, get_recent_test_failures |
logs | query, context, fields, stats |
slack | search_messages, get_thread, send |
issue | create |
pr | create |
project | propose |
eval | add |
Error tracking
These commands are exposed for configured error trackers such as Sentry. The namespace uses the provider name.
sentry list_errors
List unresolved errors with severity, occurrence count, and affected-user summaries.
| Flag | Type | Required | Description |
|---|---|---|---|
--project | string | No | Project slug to filter by. |
--severity | critical | high | medium | low | No | Severity filter. |
--since | string | No | ISO 8601 lower bound for last seen time. |
--limit | number | No | Max results. Defaults to 25. |
Common use: start a production bug investigation with high-impact unresolved errors.
143-tools sentry list_errors --severity critical --limit 20sentry get_error
Get full details for one error, including stack trace, tags, and error type.
| Flag | Type | Required | Description |
|---|---|---|---|
--error_id | string | Yes | Error or issue ID from the provider. |
Common use: inspect the stack and tags before searching the codebase.
143-tools sentry get_error --error_id 12345sentry get_error_trend
Get occurrence trend data over a time window.
| Flag | Type | Required | Description |
|---|---|---|---|
--error_id | string | Yes | Error or issue ID from the provider. |
--period | string | No | Duration such as 24h, 7d, or 14d. Defaults to 14d. |
Common use: decide whether a suspected fix should be urgent because the error is spiking.
143-tools sentry get_error_trend --error_id 12345 --period 24hsentry find_related_errors
Find errors that likely share a root cause, such as a matching stack prefix or culprit.
| Flag | Type | Required | Description |
|---|---|---|---|
--error_id | string | Yes | Error or issue ID from the provider. |
Common use: avoid fixing one symptom while missing duplicate production failures.
143-tools sentry find_related_errors --error_id 12345Tasks
These commands are exposed for configured task managers such as Linear. The namespace uses the provider name.
linear list_tasks
List tasks matching filters with state, priority, and assignee summaries.
| Flag | Type | Required | Description |
|---|---|---|---|
--team | string | No | Team key, such as ENG. |
--states | comma-separated strings | No | State names such as triage,backlog,in_progress. |
--priority | urgent | high | medium | low | No | Priority filter. |
--limit | number | No | Max results. Defaults to 25. |
Common use: find the highest-priority engineering work related to the current repo.
143-tools linear list_tasks --team ENG --priority urgent --limit 25linear get_task
Get full task details, including description, comments, and linked issues.
| Flag | Type | Required | Description |
|---|---|---|---|
--task_id | string | Yes | Task ID or identifier, such as ENG-123. |
Common use: read the complete ticket before implementing a fix.
143-tools linear get_task --task_id ENG-123linear find_related_tasks
Find linked tasks, sub-issues, or tasks in the same project.
| Flag | Type | Required | Description |
|---|---|---|---|
--task_id | string | Yes | Task ID or identifier. |
Common use: check whether another task already covers the same root cause.
143-tools linear find_related_tasks --task_id ENG-123linear update_task
Update task metadata or add a comment.
| Flag | Type | Required | Description |
|---|---|---|---|
--task_id | string | Yes | Task ID or identifier. |
--priority | urgent | high | medium | low | No | New priority. |
--state | string | No | Target state name. |
--comment | string | No | Comment to add. |
Common use: leave an implementation note or move a task after completing work.
143-tools linear update_task --task_id ENG-123 --comment "Opened a PR with the fix."linear create_task
Create a new task.
| Flag | Type | Required | Description |
|---|---|---|---|
--title | string | Yes | Task title. |
--team_key | string | Yes | Team key, such as ENG. |
--description | string | No | Markdown description. |
--priority | urgent | high | medium | low | No | Priority. |
--labels | comma-separated strings | No | Labels to apply. |
Common use: create follow-up work discovered during a code change.
143-tools linear create_task --team_key ENG --title "Add regression coverage for webhook retries" --priority highDocuments
These commands are exposed for configured document stores such as Notion.
notion search_documents
Search documents by text query.
| Flag | Type | Required | Description |
|---|---|---|---|
--query | string | Yes | Search query text. |
--workspace | string | No | Workspace or space to search within. |
--limit | number | No | Max results. Defaults to 10. |
Common use: find design docs, RFCs, postmortems, or launch plans before changing behavior.
143-tools notion search_documents --query "webhook retry policy" --limit 10notion get_document
Fetch a document's full content.
| Flag | Type | Required | Description |
|---|---|---|---|
--doc_id | string | Yes | Document ID from search results. |
Common use: read the authoritative product or architecture context for a change.
143-tools notion get_document --doc_id abc-123Code review
These commands are exposed for configured code review sources such as GitHub.
github list_recent_prs
List recent pull requests with titles, authors, review status, and change size.
| Flag | Type | Required | Description |
|---|---|---|---|
--state | merged | open | closed | No | PR state. Defaults to merged. |
--limit | number | No | Max results. Defaults to 20. |
Common use: learn recent local patterns before editing the same area.
143-tools github list_recent_prs --state merged --limit 20github get_pr_reviews
Get reviews and inline review comments for a PR.
| Flag | Type | Required | Description |
|---|---|---|---|
--pr_number | number | Yes | Pull request number. |
Common use: inspect prior reviewer feedback so a new change follows accepted conventions.
143-tools github get_pr_reviews --pr_number 1234CI test insights
These commands are exposed for configured CI providers such as CircleCI.
circleci list_flaky_tests
List flaky tests detected by CircleCI.
| Flag | Type | Required | Description |
|---|---|---|---|
--branch | string | No | Restrict to flakes seen on this branch. |
--workflow_name | string | No | Restrict to a workflow. |
--limit | number | No | Max results. Defaults to the provider's full list. |
Common use: choose a flaky test to investigate when CI is unstable.
143-tools circleci list_flaky_tests --limit 25circleci get_job_test_results
Fetch individual test results and failure messages for one CI job.
| Flag | Type | Required | Description |
|---|---|---|---|
--job_number | number | Yes | CI job number. |
Common use: read the exact failure output for a flaky occurrence.
143-tools circleci get_job_test_results --job_number 123456circleci get_recent_test_failures
Get recent failure occurrences for a test, including failure messages.
| Flag | Type | Required | Description |
|---|---|---|---|
--test_name | string | Yes | Test function or case name. |
--classname | string | No | Class or file grouping, recommended for disambiguation. |
--limit | number | No | Max occurrences. Defaults to 5. |
Common use: compare failure messages across runs before changing a test.
143-tools circleci get_recent_test_failures --test_name "TestWebhookRetries" --limit 5Logs
Log commands use a shared logs namespace with a --provider flag. Configured providers can include victorialogs and mezmo.
logs query
Run a read-only provider-native log query over a bounded time range.
| Flag | Type | Required | Description |
|---|---|---|---|
--query | string | Yes | Provider-native query text. |
--provider | string | No | Log provider to use when more than one is configured. |
--since | string | Conditional | Duration such as 15m, 1h, or 7d. Required unless --start_time/--end_time are provided. |
--start_time | string | No | RFC3339 lower bound. |
--end_time | string | No | RFC3339 upper bound. |
--limit | number | No | Max results. Defaults to 100, max 1000. |
--direction | desc | asc | No | Result order. Defaults to desc. |
--fields | comma-separated strings | No | Field names to include. |
--include_raw | boolean | No | Request redacted raw provider payloads when authorized. |
Common use: investigate recent API errors with a bounded production log search.
143-tools logs query --provider victorialogs --query 'service:api AND level:error' --since 1h --limit 100logs context
Fetch neighboring logs around an event anchor. At least one of --id, --cursor, or --timestamp is required. Using --timestamp also requires --query.
| Flag | Type | Required | Description |
|---|---|---|---|
--id | string | Conditional | Stable event or log ID anchor. |
--cursor | string | Conditional | Opaque event cursor anchor. |
--timestamp | string | Conditional | RFC3339 timestamp anchor. Requires --query. |
--query | string | No | Provider-native query text. |
--provider | string | No | Log provider to use. |
--since | string | No | Bounded lookback window. |
--start_time | string | No | RFC3339 lower bound. |
--end_time | string | No | RFC3339 upper bound. |
--before | number | No | Logs before the target. Defaults to 20, max 100. |
--after | number | No | Logs after the target. Defaults to 20, max 100. |
--fields | comma-separated strings | No | Field names to include. |
--include_raw | boolean | No | Request redacted raw provider payloads when authorized. |
Common use: expand from one failed request to the surrounding request lifecycle.
143-tools logs context --provider victorialogs --query 'request_id:"req_123"' --timestamp 2026-06-05T12:00:00Z --since 15m --before 25 --after 25logs fields
List common indexed or queryable fields for a provider.
| Flag | Type | Required | Description |
|---|---|---|---|
--provider | string | No | Log provider to use. |
--query | string | No | Optional provider-native query. |
--since | string | No | Lookback window. Defaults to 24h, max 7d. |
--limit | number | No | Max field names or sampled records. Defaults to 100. |
Common use: discover available fields before composing a precise log query.
143-tools logs fields --provider victorialogs --since 24h --limit 100logs stats
Run lightweight provider-native aggregate log stats. This command appears only for providers that support stats.
| Flag | Type | Required | Description |
|---|---|---|---|
--query | string | Yes | Provider-native query text. |
--provider | string | No | Log provider to use. |
--since | string | Conditional | Duration such as 15m, 1h, or 7d. Required unless --start_time/--end_time are provided. |
--start_time | string | No | RFC3339 lower bound. |
--end_time | string | No | RFC3339 upper bound. |
--group_by | comma-separated strings | No | Field names to group by. |
--interval | string | No | Time bucket interval, such as 5m or 1h. |
--limit | number | No | Max grouped rows. Defaults to 100. |
Common use: group errors by service, org, or endpoint before drilling into raw logs.
143-tools logs stats --provider victorialogs --query 'level:error' --since 1h --group_by service --limit 20Messaging
These commands are exposed for configured message sources such as Slack.
slack search_messages
Search messages by text query.
| Flag | Type | Required | Description |
|---|---|---|---|
--query | string | Yes | Search query text. |
--channel | string | No | Channel name or ID. |
--limit | number | No | Max results. Defaults to 10. |
Common use: find user reports, incident discussion, or rollout context.
143-tools slack search_messages --query "checkout timeout" --limit 10slack get_thread
Get a full conversation thread.
| Flag | Type | Required | Description |
|---|---|---|---|
--message_id | string | Yes | Message ID of the thread root. |
Common use: read the full discussion around a bug report before coding.
143-tools slack get_thread --message_id msg-456slack send
Send a plain-text Slack message through 143's platform-managed Slack connection. This command appears only when the session or automation has the Slack notification capability.
| Flag | Type | Required | Description |
|---|---|---|---|
--channel-id | string | Yes | Slack channel ID to send to, such as C123. |
--text | string | Yes | Plain-text message body. |
Common use: post automation completion or status updates to a channel chosen by the automation owner.
143-tools slack send --channel-id C123 --text "Automation completed successfully."The command returns delivery state and Slack message coordinates:
{"status":"sent","channel_id":"C123","message_ts":"1700000000.000100"}143 workflow tools
These commands are exposed by 143 itself when the session has the matching capability.
issue create
Create a new engineering issue and return its UUID.
| Flag | Type | Required | Description |
|---|---|---|---|
--title | string | Yes | Concise issue title. |
--description | string | Yes | Detailed context and evidence. |
--severity | info | warning | error | critical | No | Issue severity. Defaults to info. |
--tags | comma-separated strings | No | Tags to categorize the issue. |
Common use: file follow-up work from an agent investigation.
143-tools issue create --title "Webhook retries drop idempotency key" --description "Observed while fixing ENG-123." --severity warningpr create
Queue first-class 143 pull request creation for the current session.
| Flag | Type | Required | Description |
|---|---|---|---|
--session_id | string | No | Session UUID. Defaults to 143_SESSION_ID. |
--draft | boolean | No | Whether to create a draft PR. Omit to use the repo default. |
--author_mode | auto | app | user | No | PR author mode. Omit to use the default. |
Common use: open a PR through the same workflow as the app after tests pass.
143-tools pr create --draft falseproject propose
Propose a repo-scoped project for human review.
| Flag | Type | Required | Description |
|---|---|---|---|
--repository_id | string | Yes | Target repository UUID. |
--title | string | Yes | Project title. |
--goal | string | Yes | What success looks like. |
--reasoning | string | Yes | Why this project should exist. |
--scope | string | No | What is in and out of bounds. |
--completion_criteria | string | No | How to know when done. |
--source_issue_ids | string | No | Comma-separated motivating issue UUIDs. |
--priority | number | No | Priority from 0 to 100. Defaults to 50. |
--tasks | string | No | JSON array of seed task specs: [{"title":"...","description":"...","approach":"...","complexity":"...","confidence":"..."}]. |
--similar_project_ids | string | No | Comma-separated same-repo project UUIDs considered non-duplicate. |
Common use: turn repeated findings across issues into a reviewed project proposal.
143-tools project propose --repository_id 00000000-0000-0000-0000-000000000000 --title "Harden webhook delivery" --goal "Retries preserve idempotency and surface permanent failures" --reasoning "Recent production errors share the same delivery path."eval add
Add a candidate eval task from a session launched by the eval settings bootstrap flow. This namespace is not exposed to ordinary coding sessions.
| Flag | Type | Required | Description |
|---|---|---|---|
--pr_number | number | Yes | Source pull request number. |
--pr_title | string | Yes | Source pull request title. |
--base_commit_sha | string | Yes | Commit SHA before the fix. |
--solution_commit_sha | string | Yes | Commit SHA containing the fix. |
--solution_diff | string | Yes | Diff that solved the issue. |
--issue_description | string | Yes | Reproducible eval task prompt. |
--scoring_criteria | string | Yes | JSON array of scoring criteria. |
--complexity | trivial | simple | moderate | complex | Yes | Candidate task complexity. |
--fitness_score | number | Yes | Candidate quality score from 0 to 1. |
--fitness_reasoning | string | Yes | Why the candidate is useful for regression protection. |
--evidence | string | No | Optional JSON evidence gathered while selecting the candidate. |
--warnings | comma-separated strings | No | Reviewer warnings about ambiguity or setup risk. |
Common use: while bootstrapping evals, record a PR-derived coding task that should become a reviewed eval candidate.
143-tools eval add --pr_number 42 --pr_title "Fix checkout timeout" --base_commit_sha abc123 --solution_commit_sha def456 --solution_diff "$(git show --format= --patch def456)" --issue_description "Reproduce and fix the checkout timeout." --scoring_criteria '[{"name":"fixes-timeout","grader_type":"llm_judge","description":"The checkout path no longer times out."}]' --complexity moderate --fitness_score 0.9 --fitness_reasoning "Real regression with clear before/after behavior."