# Output Framework > Open-source TypeScript framework for building AI workflows and agents. Designed for Claude Code — ships with prompts, evals, tracing, cost tracking, credentials, and orchestration in one framework, so you stop stitching together SaaS subscriptions. ## Docs - [[Deprecated] Reset the latest workflow run](https://docs.output.ai/api-reference/[deprecated]-reset-the-latest-workflow-run.md): Resets the latest run. Deprecated; use `POST /workflow/{id}/runs/{rid}/reset` to target a specific run. Scheduled for removal after 2026-07-16. - [[Deprecated] Stop the latest workflow run](https://docs.output.ai/api-reference/[deprecated]-stop-the-latest-workflow-run.md): Stops the latest run of the given workflow. The returned `runId` reflects the run at describe-time and may differ from the cancelled run if a new execution started concurrently. Deprecated; use `PATCH /workflow/{id}/runs/{rid}/stop` to pin a specific run. Scheduled for removal after 2026-07-16. - [[Deprecated] Terminate the latest workflow run](https://docs.output.ai/api-reference/[deprecated]-terminate-the-latest-workflow-run.md): Force terminates the latest run. Deprecated; use `POST /workflow/{id}/runs/{rid}/terminate` to target a specific run. Scheduled for removal after 2026-07-16. - [A dummy post endpoint for test only](https://docs.output.ai/api-reference/a-dummy-post-endpoint-for-test-only.md) - [Execute a workflow synchronously](https://docs.output.ai/api-reference/execute-a-workflow-synchronously.md): Executes a workflow and waits for it to complete before returning the result - [Execute an update on an workflow](https://docs.output.ai/api-reference/execute-an-update-on-an-workflow.md): Always targets the latest run; `runId` cannot be pinned for Temporal update operations. - [Get a specific workflow catalog by ID](https://docs.output.ai/api-reference/get-a-specific-workflow-catalog-by-id.md) - [Get paginated workflow execution history](https://docs.output.ai/api-reference/get-paginated-workflow-execution-history.md): Returns decoded Temporal history events with optional payload inclusion. First page includes workflow metadata; subsequent pages return events only. - [Get paginated workflow execution history for a specific run](https://docs.output.ai/api-reference/get-paginated-workflow-execution-history-for-a-specific-run.md) - [Get the default workflow catalog](https://docs.output.ai/api-reference/get-the-default-workflow-catalog.md) - [Get workflow execution status for a specific run](https://docs.output.ai/api-reference/get-workflow-execution-status-for-a-specific-run.md) - [Get workflow execution status (latest run)](https://docs.output.ai/api-reference/get-workflow-execution-status-latest-run.md): Returns the status of the latest run for the given workflow. To pin a specific run, use `/workflow/{id}/runs/{rid}/status`. - [Get workflow trace log data for a specific run](https://docs.output.ai/api-reference/get-workflow-trace-log-data-for-a-specific-run.md): Returns trace data for a pinned workflow run. If trace is stored remotely (S3), fetches and returns the data inline. If trace is local only, returns the local path. - [Get workflow trace log data (latest run)](https://docs.output.ai/api-reference/get-workflow-trace-log-data-latest-run.md): Returns trace data for the latest run of the given workflow. If trace is stored remotely (S3), fetches and returns the data inline. If trace is local only, returns the local path. To pin a specific run, use `/workflow/{id}/runs/{rid}/trace-log`. - [Health check the API](https://docs.output.ai/api-reference/health-check-the-api.md) - [List workflow runs](https://docs.output.ai/api-reference/list-workflow-runs.md): Returns a list of workflow runs with optional filtering by workflow type - [Reset a specific workflow run to re-run from after a completed step](https://docs.output.ai/api-reference/reset-a-specific-workflow-run-to-re-run-from-after-a-completed-step.md): Resets a pinned workflow run to the point after a completed step, creating a new run that replays from that point. The current execution is terminated. - [Return the result of a specific workflow run](https://docs.output.ai/api-reference/return-the-result-of-a-specific-workflow-run.md) - [Return the result of a workflow (latest run)](https://docs.output.ai/api-reference/return-the-result-of-a-workflow-latest-run.md): Returns the result of the latest run for the given workflow. To pin a specific run, use `/workflow/{id}/runs/{rid}/result`. - [Send a query to an workflow](https://docs.output.ai/api-reference/send-a-query-to-an-workflow.md): Always targets the latest run; `runId` cannot be pinned for Temporal query operations. - [Send a signal to an workflow](https://docs.output.ai/api-reference/send-a-signal-to-an-workflow.md): Always targets the latest run; `runId` cannot be pinned for Temporal signal operations. - [Send feedback to a workflow](https://docs.output.ai/api-reference/send-feedback-to-a-workflow.md): Always targets the latest run; `runId` cannot be pinned for Temporal signal operations. - [Start a workflow asynchronously](https://docs.output.ai/api-reference/start-a-workflow-asynchronously.md) - [Stop a specific workflow run](https://docs.output.ai/api-reference/stop-a-specific-workflow-run.md) - [Terminate a specific workflow run (force stop)](https://docs.output.ai/api-reference/terminate-a-specific-workflow-run-force-stop.md): Force terminates a workflow run. Unlike stop/cancel, terminate immediately stops the run without allowing cleanup. - [Authentication](https://docs.output.ai/api/authentication.md): How authentication works for the Output API - [Configuration](https://docs.output.ai/api/configuration.md): Base URL and environment variables for the Output API server - [Error Responses](https://docs.output.ai/api/errors.md): Error codes and response format for the Output API - [Overview](https://docs.output.ai/api/index.md): How your application communicates with Output workflows over HTTP - [Changelog](https://docs.output.ai/changelog/index.md): Release notes for the Output framework. Every change to @outputai/* packages and output-api shows up here. - [Connecting to External APIs](https://docs.output.ai/clients/index.md): Build typed, observable API clients for reliable third-party integrations - [Overview](https://docs.output.ai/cookbook/overview.md): Recipes, best practices and integrations for building with Output. - [Zapier SDK](https://docs.output.ai/cookbook/zapier-sdk.md): Call Zapier-managed app connections from inside Output steps — no OAuth plumbing, full traces, automatic retries. - [Cost Events](https://docs.output.ai/costs/cost-events.md): Monitor LLM and HTTP request costs in real time — cost:llm:request and cost:http:request hook events for logging, alerting, and aggregation - [Cost Estimation](https://docs.output.ai/costs/index.md): See what your workflows cost — LLM tokens, API calls, and external services — with a single CLI command - [LLM-as-a-Judge Best Practices](https://docs.output.ai/evaluators/best-practices.md): Write effective judge prompts, choose the right grading scale, and build reliable evaluators for production - [Datasets](https://docs.output.ai/evaluators/datasets.md): Define test cases as YAML files with inputs, cached outputs, and ground truth for workflow evaluators - [Running from CLI](https://docs.output.ai/evaluators/datasets-and-cli.md): Wire evaluators into an eval workflow and run them against datasets from the CLI - [Evaluator Step](https://docs.output.ai/evaluators/evaluator-step.md): Build evaluators that score LLM output with confidence levels and use the results to control workflow flow - [Overview](https://docs.output.ai/evaluators/index.md): Score LLM output, control workflow flow, and test quality across datasets - [Verdict Helpers](https://docs.output.ai/evaluators/verdicts.md): Deterministic assertions, manual verdicts, and LLM result wrappers for workflow evaluators - [Overview](https://docs.output.ai/evaluators/workflow-evaluators.md): Test workflow quality across datasets without modifying your workflow code - [Home](https://docs.output.ai/index.md): The open-source TypeScript framework for building AI workflows and agents. Designed for Claude Code — describe what you want, Claude builds it, with all the best practices already in place. - [Migrations](https://docs.output.ai/migrations/index.md): Upgrade guides for moving between versions of the Output framework. - [v0.1.12 → v0.2.0](https://docs.output.ai/migrations/v0.1.12-to-v0.2.0.md): Upgrading Output.ai projects from v0.1.12 to v0.2.0. Covers dataset file format changes and deprecated workflow run endpoints. - [Credentials](https://docs.output.ai/operations/credentials.md): Manage encrypted secrets across environments and workflows with scoped access and secure key resolution - [Deployment overview](https://docs.output.ai/operations/deployment.md): Deploy your Output workflows to production - [Advanced configuration](https://docs.output.ai/operations/deployment/advanced.md): Remote tracing, S3 upload, and other optional production features - [Deploy to Railway](https://docs.output.ai/operations/deployment/railway.md): Step-by-step guide to deploying Output workflows on Railway - [Deploy to Render](https://docs.output.ai/operations/deployment/render.md): Step-by-step guide to deploying Output workflows on Render - [Error Handling](https://docs.output.ai/operations/error-handling.md): How errors in steps, evaluators, and workflows are handled and when execution stops - [Error Hooks](https://docs.output.ai/operations/error-hooks.md): Observe workflow, activity, and runtime errors without affecting execution - [Testing Workflows and Steps](https://docs.output.ai/operations/testing.md): Write deterministic unit tests for workflows, steps, and evaluators by calling them as plain functions - [Tracing: Full Visibility](https://docs.output.ai/operations/tracing.md): How workflow execution is traced, where traces are stored, and how to enable local or remote tracing - [@outputai/cli](https://docs.output.ai/packages/cli.md): Command-line interface for creating, running, and debugging Output workflows - [@outputai/core](https://docs.output.ai/packages/core.md): Workflow orchestration, worker runtime, and the building blocks for every Output app - [@outputai/credentials](https://docs.output.ai/packages/credentials.md): Encrypted secrets management with scoped access across global, environment, and workflow levels - [@outputai/evals](https://docs.output.ai/packages/evals.md): Workflow evaluation using datasets, typed evaluators, and deterministic or LLM-based assertions - [@outputai/http](https://docs.output.ai/packages/http.md): Make traceable HTTP requests from your steps - [@outputai/llm](https://docs.output.ai/packages/llm.md): Generate and stream text, objects, and arrays from LLMs with prompt file management - [Production Prompts](https://docs.output.ai/prompts/best-practices.md): Write effective prompts for production AI workflows - [Writing Prompt Files](https://docs.output.ai/prompts/index.md): Version-controlled prompts with YAML configuration and XML message blocks - [Skills](https://docs.output.ai/prompts/skills.md): Load detailed instructions on demand to keep prompts lightweight - [Templating with Variables](https://docs.output.ai/prompts/templating.md): Use Liquid.js to create dynamic prompts with variables, conditionals, and loops - [Claude Code](https://docs.output.ai/start-here/claude-code.md): Output is the first programming framework designed for AI coding agents — and Claude Code is how you use it - [Getting Started](https://docs.output.ai/start-here/getting-started.md): Create your first Output workflow in minutes - [Learning Path](https://docs.output.ai/start-here/learning-path.md): Recommended reading order for learning Output.ai - [Step Patterns & Best Practices](https://docs.output.ai/steps/best-practices.md): Organize steps, extract utilities, share across workflows, and use evaluators for flow control - [The steps.ts File](https://docs.output.ai/steps/index.md): Reusable units of work that handle I/O operations - [Composing with Child Workflows](https://docs.output.ai/workflows/child-workflows.md): Compose workflows by invoking other workflows - [Execution Context](https://docs.output.ai/workflows/context.md): Access workflow execution information and control flow - [External Integration](https://docs.output.ai/workflows/external-integration.md): Send data out, receive input, and query status while workflows run - [The workflow.ts File](https://docs.output.ai/workflows/index.md): Define durable, deterministic orchestration logic - [Parallel Execution](https://docs.output.ai/workflows/parallel-execution.md): Run steps, evaluators, or child workflows in parallel with optional concurrency control - [Running Workflows](https://docs.output.ai/workflows/running.md): Execute workflows from the CLI — synchronously, asynchronously, and with scenario files ## OpenAPI Specs - [openapi](https://docs.output.ai/openapi.json)