Skip to main content

Status

35 capabilities are shipped and 2 are planned, as of 2026-10-22, in workspace version 0.26.0. Shipped means implemented on main and held by a named test in the repository; harness-docs generates this page and website/data/status.json from one list and fails when a test it names is gone. Planned means recorded on the repository's plan and not built. What a green test does not show, and what Harness does not do, is on Limitations.

Provider wires​

CapabilityStatusWhat it meansHeld by
OpenAI Responses● shippedThe binary reads a real file through a real tool call over the Responses wire.crates/harness-cli/tests/end_to_end.rs::the_binary_reads_a_real_file_through_a_real_tool_call
Anthropic Messages● shippedThe binary drives the Messages wire and calls a real tool through it.crates/harness-cli/tests/end_to_end.rs::the_binary_drives_the_second_wire_and_calls_a_real_tool_through_it
Provider presets● shippedA short model name resolves to the exact identifier this build pins.crates/harness-cli/src/provider.rs::a_short_name_resolves_to_the_exact_identifier_this_build_pins
Credentials the operator names● shippedNaming your own credential turns the preset's token renewal off, so no file is rewritten that the operator did not offer.crates/harness-cli/src/provider.rs::naming_your_own_credential_turns_the_renewal_off
Secrets store only on request● shippedA run or server without the secrets flag never dials the session bus.crates/harness-cli/tests/secrets_security_cli.rs::a_run_or_server_without_the_flag_never_dials_the_session_bus

Agent loop​

CapabilityStatusWhat it meansHeld by
Turn ceiling● shippedA turn ceiling stops the loop, and the stop names the ceiling.crates/harness-loop/src/tests.rs::a_turn_ceiling_stops_the_loop_and_names_itself
Spend ceiling● shippedA spend ceiling on a run that cannot price its model is refused before the first request.crates/harness-loop/src/tests.rs::a_spend_ceiling_on_a_run_that_cannot_price_itself_is_refused_before_the_first_request
Unpriced is not free● shippedA model the rate card does not price has no cost rather than a zero one.crates/harness-loop/src/price.rs::a_model_the_card_does_not_price_is_absent_rather_than_free
Unreported usage● shippedUsage a provider did not report stays unknown rather than becoming zero.crates/harness-loop/src/tests.rs::unreported_usage_stays_unknown_rather_than_zero
Compaction● shippedA declared context window compacts on the token count the provider reported.crates/harness-loop/src/tests.rs::a_declared_window_compacts_on_the_count_the_provider_reported
Cancellation● shippedCancellation between tool calls stops the run before the next effect.crates/harness-loop/src/tests.rs::cancellation_between_tool_calls_stops_before_the_next_effect
Structured output● shippedA run asked for a schema that answers in prose stops without an answer.crates/harness-cli/tests/end_to_end.rs::a_run_asked_for_a_schema_that_answers_in_prose_stops_without_an_answer

Tools and approvals​

CapabilityStatusWhat it meansHeld by
Deny by default● shippedA run entry built from the process adapter is refused under the default approver.crates/harness-catalogue/tests/run_under_deny_all.rs::run_built_from_the_adapter_is_refused_under_deny_all
No silent approval● shippedA write is refused when the run has nobody it may ask.crates/harness-cli/tests/end_to_end.rs::a_write_is_refused_when_the_run_may_not_ask_anybody
Approval ceiling● shippedRaising the unattended ceiling lets a write through, on either wire.crates/harness-cli/tests/end_to_end.rs::raising_the_ceiling_lets_a_write_through_on_the_second_wire_too
Write scope● shippedA path the write scope denies is refused for both writers, and the refusal says the scope is what is wrong.crates/harness-catalogue/src/scope.rs::a_denied_path_refuses_both_and_says_it_is_the_scope_that_is_wrong
Withheld tools are reported● shippedA declared program with no confinement is reported as withheld rather than dropped.crates/harness-cli/tests/withheld.rs::a_declared_program_with_no_confinement_at_all_is_reported_rather_than_dropped
Verb surface● shippedThe verbs surface publishes three tools over the same catalogue.crates/harness-cli/tests/end_to_end.rs::the_verbs_surface_publishes_three_tools_over_the_same_catalogue
Outbound MCP● shippedAn MCP server named in a reviewed profile runs end to end over stdio.crates/harness-cli/tests/end_to_end.rs::outbound_mcp_runs_end_to_end_over_stdio

Command line​

CapabilityStatusWhat it meansHeld by
Toolset description● shippedThe tools command describes the toolset without an endpoint.crates/harness-cli/tests/end_to_end.rs::the_tools_subcommand_describes_the_toolset_without_an_endpoint
Profiles● shippedEvery profile that contributed to a run is in its record with its own digest.crates/harness-cli/src/profile.rs::every_profile_that_contributed_is_in_the_record_with_its_own_digest
Default write scope● shippedThe default write scope denies the repository's own Git directory.crates/harness-cli/src/profile.rs::the_default_write_scope_denies_git
Declared context files● shippedA declared context file that is absent refuses the run before any session is filed.crates/harness-cli/tests/context.rs::a_declared_context_file_that_is_absent_refuses_the_run_before_any_session

Sessions and output​

CapabilityStatusWhat it meansHeld by
Resume● shippedA run files its conversation, and a later run resumes it.crates/harness-cli/tests/end_to_end.rs::a_run_files_its_conversation_and_a_later_one_resumes_it
Sessions stay outside the workspace● shippedA session directory inside the workspace is refused before it is created.crates/harness-cli/src/transcript.rs::a_session_directory_inside_the_workspace_is_refused_before_creation
JSON events● shippedJSON mode emits one event per line.crates/harness-cli/tests/end_to_end.rs::json_mode_emits_one_event_per_line

Delegation, skills, memories and hooks​

CapabilityStatusWhat it meansHeld by
Delegation● shippedA delegate runs a whole second loop, and the parent reads only its report.crates/harness-loop/src/tests.rs::a_delegate_runs_a_whole_second_loop_and_the_parent_reads_only_its_report
Concurrent delegates● shippedTwo delegates of one turn run at the same time.crates/harness-loop/src/tests.rs::two_delegates_of_one_turn_run_at_the_same_time
Named agents● shippedA named agent cannot widen what the parent run was admitted.crates/harness-loop/src/agent.rs::an_agent_cannot_widen_what_the_parent_was_admitted
Skills● shippedSkill descriptions are in the instruction, and their bodies are not until the model asks.crates/harness-loop/src/skill.rs::the_descriptions_are_in_the_instruction_and_the_bodies_are_not
Read-only memories● shippedrecall answers a memory's body, and the record names every memory whatever its status.crates/harness-loop/src/tests.rs::a_recall_answers_the_body_and_the_record_names_every_memory_whatever_its_status
Stop hooks● shippedA stop hook blocks one ending, and the run turns again before it finishes.crates/harness-cli/tests/end_to_end.rs::a_stop_hook_blocks_one_ending_and_the_run_turns_again_before_it_finishes
Hook points● shippedA hook file naming a point that does not exist is refused by name.crates/harness-cli/src/hooks.rs::transition_is_no_longer_a_hook_point

Bridge mode​

CapabilityStatusWhat it meansHeld by
Tool calls round trip● shippedA tool call round trips back to the client that registered the tool.crates/harness-cli/tests/bridge_mode.rs::a_tool_call_round_trips_back_to_the_client
Pinned method inventory● shippedThe client methods served and refused match the pinned profile manifest.crates/harness-app-server/tests/contract.rs::the_served_and_refused_client_methods_match_the_manifest
Driven by a real external client○ plannedA real external client drives bridge mode end to end, beyond the contract tests.

Specification​

CapabilityStatusWhat it meansHeld by
The loop in the executable specification○ plannedThe agent loop's turn, tool and budget behaviour is modelled in the executable specification and run by its conformance suite.