143 docs
Reference

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 --help

Results 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.

NamespaceCommands
sentrylist_errors, get_error, get_error_trend, find_related_errors
linearlist_tasks, get_task, find_related_tasks, update_task, create_task
notionsearch_documents, get_document
githublist_recent_prs, get_pr_reviews
circlecilist_flaky_tests, get_job_test_results, get_recent_test_failures
logsquery, context, fields, stats
slacksearch_messages, get_thread, send
issuecreate
prcreate
projectpropose
evaladd

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.

FlagTypeRequiredDescription
--projectstringNoProject slug to filter by.
--severitycritical | high | medium | lowNoSeverity filter.
--sincestringNoISO 8601 lower bound for last seen time.
--limitnumberNoMax results. Defaults to 25.

Common use: start a production bug investigation with high-impact unresolved errors.

143-tools sentry list_errors --severity critical --limit 20

sentry get_error

Get full details for one error, including stack trace, tags, and error type.

FlagTypeRequiredDescription
--error_idstringYesError or issue ID from the provider.

Common use: inspect the stack and tags before searching the codebase.

143-tools sentry get_error --error_id 12345

sentry get_error_trend

Get occurrence trend data over a time window.

FlagTypeRequiredDescription
--error_idstringYesError or issue ID from the provider.
--periodstringNoDuration 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 24h

Find errors that likely share a root cause, such as a matching stack prefix or culprit.

FlagTypeRequiredDescription
--error_idstringYesError 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 12345

Tasks

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.

FlagTypeRequiredDescription
--teamstringNoTeam key, such as ENG.
--statescomma-separated stringsNoState names such as triage,backlog,in_progress.
--priorityurgent | high | medium | lowNoPriority filter.
--limitnumberNoMax 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 25

linear get_task

Get full task details, including description, comments, and linked issues.

FlagTypeRequiredDescription
--task_idstringYesTask 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-123

Find linked tasks, sub-issues, or tasks in the same project.

FlagTypeRequiredDescription
--task_idstringYesTask ID or identifier.

Common use: check whether another task already covers the same root cause.

143-tools linear find_related_tasks --task_id ENG-123

linear update_task

Update task metadata or add a comment.

FlagTypeRequiredDescription
--task_idstringYesTask ID or identifier.
--priorityurgent | high | medium | lowNoNew priority.
--statestringNoTarget state name.
--commentstringNoComment 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.

FlagTypeRequiredDescription
--titlestringYesTask title.
--team_keystringYesTeam key, such as ENG.
--descriptionstringNoMarkdown description.
--priorityurgent | high | medium | lowNoPriority.
--labelscomma-separated stringsNoLabels 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 high

Documents

These commands are exposed for configured document stores such as Notion.

notion search_documents

Search documents by text query.

FlagTypeRequiredDescription
--querystringYesSearch query text.
--workspacestringNoWorkspace or space to search within.
--limitnumberNoMax 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 10

notion get_document

Fetch a document's full content.

FlagTypeRequiredDescription
--doc_idstringYesDocument ID from search results.

Common use: read the authoritative product or architecture context for a change.

143-tools notion get_document --doc_id abc-123

Code 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.

FlagTypeRequiredDescription
--statemerged | open | closedNoPR state. Defaults to merged.
--limitnumberNoMax results. Defaults to 20.

Common use: learn recent local patterns before editing the same area.

143-tools github list_recent_prs --state merged --limit 20

github get_pr_reviews

Get reviews and inline review comments for a PR.

FlagTypeRequiredDescription
--pr_numbernumberYesPull request number.

Common use: inspect prior reviewer feedback so a new change follows accepted conventions.

143-tools github get_pr_reviews --pr_number 1234

CI test insights

These commands are exposed for configured CI providers such as CircleCI.

circleci list_flaky_tests

List flaky tests detected by CircleCI.

FlagTypeRequiredDescription
--branchstringNoRestrict to flakes seen on this branch.
--workflow_namestringNoRestrict to a workflow.
--limitnumberNoMax 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 25

circleci get_job_test_results

Fetch individual test results and failure messages for one CI job.

FlagTypeRequiredDescription
--job_numbernumberYesCI job number.

Common use: read the exact failure output for a flaky occurrence.

143-tools circleci get_job_test_results --job_number 123456

circleci get_recent_test_failures

Get recent failure occurrences for a test, including failure messages.

FlagTypeRequiredDescription
--test_namestringYesTest function or case name.
--classnamestringNoClass or file grouping, recommended for disambiguation.
--limitnumberNoMax 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 5

Logs

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.

FlagTypeRequiredDescription
--querystringYesProvider-native query text.
--providerstringNoLog provider to use when more than one is configured.
--sincestringConditionalDuration such as 15m, 1h, or 7d. Required unless --start_time/--end_time are provided.
--start_timestringNoRFC3339 lower bound.
--end_timestringNoRFC3339 upper bound.
--limitnumberNoMax results. Defaults to 100, max 1000.
--directiondesc | ascNoResult order. Defaults to desc.
--fieldscomma-separated stringsNoField names to include.
--include_rawbooleanNoRequest 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 100

logs context

Fetch neighboring logs around an event anchor. At least one of --id, --cursor, or --timestamp is required. Using --timestamp also requires --query.

FlagTypeRequiredDescription
--idstringConditionalStable event or log ID anchor.
--cursorstringConditionalOpaque event cursor anchor.
--timestampstringConditionalRFC3339 timestamp anchor. Requires --query.
--querystringNoProvider-native query text.
--providerstringNoLog provider to use.
--sincestringNoBounded lookback window.
--start_timestringNoRFC3339 lower bound.
--end_timestringNoRFC3339 upper bound.
--beforenumberNoLogs before the target. Defaults to 20, max 100.
--afternumberNoLogs after the target. Defaults to 20, max 100.
--fieldscomma-separated stringsNoField names to include.
--include_rawbooleanNoRequest 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 25

logs fields

List common indexed or queryable fields for a provider.

FlagTypeRequiredDescription
--providerstringNoLog provider to use.
--querystringNoOptional provider-native query.
--sincestringNoLookback window. Defaults to 24h, max 7d.
--limitnumberNoMax 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 100

logs stats

Run lightweight provider-native aggregate log stats. This command appears only for providers that support stats.

FlagTypeRequiredDescription
--querystringYesProvider-native query text.
--providerstringNoLog provider to use.
--sincestringConditionalDuration such as 15m, 1h, or 7d. Required unless --start_time/--end_time are provided.
--start_timestringNoRFC3339 lower bound.
--end_timestringNoRFC3339 upper bound.
--group_bycomma-separated stringsNoField names to group by.
--intervalstringNoTime bucket interval, such as 5m or 1h.
--limitnumberNoMax 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 20

Messaging

These commands are exposed for configured message sources such as Slack.

slack search_messages

Search messages by text query.

FlagTypeRequiredDescription
--querystringYesSearch query text.
--channelstringNoChannel name or ID.
--limitnumberNoMax results. Defaults to 10.

Common use: find user reports, incident discussion, or rollout context.

143-tools slack search_messages --query "checkout timeout" --limit 10

slack get_thread

Get a full conversation thread.

FlagTypeRequiredDescription
--message_idstringYesMessage 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-456

slack 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.

FlagTypeRequiredDescription
--channel-idstringYesSlack channel ID to send to, such as C123.
--textstringYesPlain-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.

FlagTypeRequiredDescription
--titlestringYesConcise issue title.
--descriptionstringYesDetailed context and evidence.
--severityinfo | warning | error | criticalNoIssue severity. Defaults to info.
--tagscomma-separated stringsNoTags 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 warning

pr create

Queue first-class 143 pull request creation for the current session.

FlagTypeRequiredDescription
--session_idstringNoSession UUID. Defaults to 143_SESSION_ID.
--draftbooleanNoWhether to create a draft PR. Omit to use the repo default.
--author_modeauto | app | userNoPR 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 false

project propose

Propose a repo-scoped project for human review.

FlagTypeRequiredDescription
--repository_idstringYesTarget repository UUID.
--titlestringYesProject title.
--goalstringYesWhat success looks like.
--reasoningstringYesWhy this project should exist.
--scopestringNoWhat is in and out of bounds.
--completion_criteriastringNoHow to know when done.
--source_issue_idsstringNoComma-separated motivating issue UUIDs.
--prioritynumberNoPriority from 0 to 100. Defaults to 50.
--tasksstringNoJSON array of seed task specs: [{"title":"...","description":"...","approach":"...","complexity":"...","confidence":"..."}].
--similar_project_idsstringNoComma-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.

FlagTypeRequiredDescription
--pr_numbernumberYesSource pull request number.
--pr_titlestringYesSource pull request title.
--base_commit_shastringYesCommit SHA before the fix.
--solution_commit_shastringYesCommit SHA containing the fix.
--solution_diffstringYesDiff that solved the issue.
--issue_descriptionstringYesReproducible eval task prompt.
--scoring_criteriastringYesJSON array of scoring criteria.
--complexitytrivial | simple | moderate | complexYesCandidate task complexity.
--fitness_scorenumberYesCandidate quality score from 0 to 1.
--fitness_reasoningstringYesWhy the candidate is useful for regression protection.
--evidencestringNoOptional JSON evidence gathered while selecting the candidate.
--warningscomma-separated stringsNoReviewer 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."

On this page