The New Tool Belt: Artifacts, Tasks & Typed Outputs
A verified tour of Claude Code's current output and coordination tools, including live MCP-backed artifacts, task output files, LSP, and recent Week 28–29 changes.
What You’ll Learn
The current Claude Code tool belt goes beyond reading and editing files. It can publish interactive output, coordinate durable tasks, render typed review findings, navigate code through a language server, and keep long-running work visible without blocking the session.
This session covers:
- Artifacts as private, update-in-place pages on claude.ai
- The precise boundary between live MCP connector calls and blocked external fetches
- The Task tools and the replacement for deprecated
TaskOutput AskUserQuestion,ReportFindings, LSP, worktrees, and resumable agents- Relevant changes from Weeks 28 and 29 of 2026
Artifacts: Output as a Live Page
An artifact is a single HTML or Markdown page published from Claude Code to a private URL on claude.ai. It can present annotated diffs, dashboards, design comparisons, timelines, or other output that is easier to inspect visually than in terminal prose.
The basic lifecycle is:
session data → .html/.htm/.md file → private artifact URL
│
├─ update in place
└─ share when appropriate
Claude Code asks before the first publish. Later revisions to the same artifact update its URL in place, and each publish becomes a version. A different session can update it when given the artifact URL.
Artifacts require Claude Code 2.1.183 or later (or a supported Desktop app), an eligible Pro, Max, Team, or Enterprise plan, and a session authenticated with /login rather than an API key or cloud-provider credential.
Static External Fetches vs Live MCP Connectors
An artifact is still one self-contained page with no backend. Its Content Security Policy blocks ordinary outbound networking:
- remote scripts, stylesheets, fonts, and images;
fetchand XHR; and- WebSocket connections.
CSS and JavaScript must be inline, and images must be embedded as data URIs. The rendered page must stay within the documented 16 MiB limit.
MCP connector calls are the explicit exception. From Claude Code 2.1.209, an artifact can declare claude.ai MCP connectors at publish time and ask claude.ai to call them whenever a viewer opens or refreshes the page. This makes a dashboard show current data or expose connector actions without granting the page general internet access.
The trust boundary is important:
| Path | Published artifact behavior |
|---|---|
Ordinary external API / fetch / XHR / WebSocket | Blocked by CSP |
| claude.ai MCP connector declared at publish time | Allowed through claude.ai after viewer approval |
Local .mcp.json server | Can help while building; cannot be called live by the published page |
Every viewer uses their own connector account and approves the first call. Two viewers can therefore see different data. Connector-backed artifacts cannot be shared publicly; on Team and Enterprise they can be private or organization-shared, while on Pro and Max they remain private.
Build a dashboard artifact of open pull requests that pulls the live list
through my GitHub connector when the page loads. Include a fallback message
for viewers who have not connected GitHub.
Tasks: The Session’s Operational View
TodoWrite is disabled by default in favor of the Task tools:
TaskCreate ──► create a task
TaskUpdate ──► change state, details, dependencies, or owner
TaskList ──► see the operational queue
TaskGet ──► inspect one task
background task ──► TaskStop
└─► Read(output file path)
Tasks can be pending, in progress, or completed and can block or depend on other tasks.
TaskOutput is deprecated
TaskOutput still appears in the reference, but it is deprecated. Read a background task’s output file path with Read instead. Claude Code includes the output path in background-task details and completion/move-to-background messages, so that file is the durable inspection surface.
Use TaskStop only to stop a running background task. It does not replace TaskUpdate, which manages task-list state and dependencies.
Structured Interaction and Output
AskUserQuestion
AskUserQuestion presents multiple-choice questions for requirements or ambiguity. Questions remain open by default; an optional askUserQuestionTimeout can auto-continue after 60s, 5m, or 10m. That timeout applies only to the question dialog, never to permission prompts or plan approval.
ReportFindings
From 2.1.196, active code-review instructions can use ReportFindings to return a rendered list with a file, summary, and failure scenario. From 2.1.199, a finding can also carry a category such as correctness or test-coverage. Structured presentation helps; it does not make an unverified claim true.
LSP
The LSP tool asks a running language server for definitions, references, type errors, and warnings. After edits, diagnostics can surface automatically, reducing reliance on text search alone. Builds and tests still remain the final behavioral check.
Isolation, Agents, and Delivery
EnterWorktree/ExitWorktreelet the main session use an isolated git worktree.- Subagents run in the background by default when independent work is appropriate; the caller receives their final result.
SendMessagecan resume a completed subagent by ID or name. A stopped subagent is not resumed this way.SendUserFilecan deliver a generated file to a connected Remote Control client or managed cloud environment.ShareOnboardingGuideuploadsONBOARDING.mdfrom/team-onboardingfor eligible claude.ai plans.
These features have different plan, authentication, and provider boundaries. The Tools Reference should be checked before treating any one of them as universally available.
Week 28: Safer Surfaces and Better Diagnostics
Releases 2.1.202–2.1.206 added several relevant upgrades:
- The Desktop app gained a sandboxed, configurable browser for external sites.
/doctorbecame an actionable setup checkup: it diagnoses installation health, unused skills/MCP/plugins, duplicated or oversizedCLAUDE.mdcontent, and slow hooks, then asks before making changes.EnterWorktreenow confirms before entering a path outside.claude/worktrees/.- Background-task notifications explicitly state that no human input occurred, preventing transcript text from being mistaken for user approval.
/code-reviewfinding quality improved on Opus 4.8 across effort levels.
Week 29: Live Artifacts and Long-Running Work
Releases 2.1.207–2.1.212 extended the belt again:
- Published artifacts gained live MCP connector data and actions.
claude --ax-screen-readergained a linear, screen-reader-friendly terminal mode./forknow copies the conversation into a new background session; the former in-session behavior is/subtask.- MCP calls lasting more than two minutes move to the background automatically, with a configurable threshold.
- Web searches and subagent spawns gained default per-session caps of 200, each tunable through documented environment variables.
Build a Shareable Review Artifact
1. Run review workers in the background and track them as tasks.
2. Collect ReportFindings records; keep unverified items visibly separate.
3. Build one self-contained HTML page with inline CSS and JavaScript.
4. Add declared MCP connectors only if viewers need fresh data.
5. Publish privately, review it, and choose an allowed sharing audience.
6. Republish later versions to the same artifact URL.
If the page only needs data collected during the session, keep it static and shareable. If it needs live connector data, accept the stricter private/organization sharing boundary and provide a clear fallback for viewers without the connector.
Key Insight
The tool belt now separates work, evidence, presentation, and delivery. Tasks track execution, typed tools structure results, Artifacts present them, and MCP connectors can refresh approved live data. The boundaries matter as much as the features: a live connector is not general network access, and a deprecated task-output tool should not remain in new workflows.
Module 5 Conclusion
Module 5 ends with a system that can choose model and effort, script multi-agent work, preserve memory, defer tools, schedule work, and present results beyond the terminal. The durable lesson is not to use every feature at once. Choose the smallest mechanism that preserves evidence, permissions, and a clear path for the user to inspect the result.