Ultrathink
Ultrathink activates the Sequential Thinking MCP tool (mcp__plugin_sequential-thinking_sequential-thinking__sequentialthinking) to enable deep, structured reasoning through complex problems.
Note: Claude Code also treats the bare word "ultrathink" in a prompt as a native extended-thinking keyword that raises the model's internal thinking budget. This skill is complementary, not a replacement: it externalizes reasoning as a visible, revisable chain of
sequentialthinkingtool calls in the transcript, where internal thinking is not shown. Saying "ultrathink" can trigger both at once — that is expected.
Prerequisites
This skill drives the Sequential Thinking MCP tool, provided by the companion sequential-thinking plugin in this marketplace. The MCP server must be installed and enabled for the tool to exist — if it is unavailable, enable the sequential-thinking plugin first.
The exact tool id depends on how the server is installed:
- Installed via this marketplace plugin (the normal case): Claude Code namespaces it as
mcp__plugin_sequential-thinking_sequential-thinking__sequentialthinking(pattern:mcp__plugin_<plugin>_<server>__<tool>). - Configured directly as a user/project MCP server: it appears as
mcp__sequential-thinking__sequentialthinking.
If unsure, use whichever …sequentialthinking tool is listed in your available tools.
Optional: to suppress the thought-box logging the server writes to stderr, set DISABLE_THOUGHT_LOGGING=true on the server — for a plugin install, add "env": {"DISABLE_THOUGHT_LOGGING": "true"} to the server entry in the plugin's .mcp.json.
When to Use
Invoke ultrathink when:
- User explicitly requests it ("use ultrathink", "ultrathink this")
- Complex problems requiring step-by-step decomposition
- Planning and design with room for revision
- Analysis that might need course correction
- Problems where full scope isn't initially clear
- Multi-step solutions requiring maintained context
- Situations requiring hypothesis generation and verification
How to Use
Call the sequential thinking tool with structured thoughts:
mcp__plugin_sequential-thinking_sequential-thinking__sequentialthinking:
thought: "Your current thinking step"
nextThoughtNeeded: true/false
thoughtNumber: 1
totalThoughts: 5 (estimate, can adjust)
Parameters
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| thought | string | Yes | Current thinking step - analysis, revision, question, or realization |
| nextThoughtNeeded | boolean | Yes | True if more thinking needed, false when done |
| thoughtNumber | integer | Yes | Current thought number in sequence (≥ 1) |
| totalThoughts | integer | Yes | Estimated total thoughts (≥ 1, can adjust up/down) |
| isRevision | boolean | No | Whether this revises previous thinking |
| revisesThought | integer | No | Which thought number is being reconsidered (≥ 1) |
| branchFromThought | integer | No | Branching point thought number (≥ 1) |
| branchId | string | No | Branch identifier |
| needsMoreThoughts | boolean | No | Signal that more thoughts needed at "end" |
Key Capabilities
- Dynamic adjustment: Revise total thought count as understanding evolves
- Revision support: Question or revise previous thoughts
- Branching: Explore alternative approaches from any point
- Hypothesis cycle: Generate hypothesis, verify, repeat until satisfied
- Non-linear thinking: Don't need to build linearly - can backtrack
Process Pattern
- Start with initial estimate of needed thoughts
- Break down the problem systematically
- Question or revise previous thoughts as needed
- Generate solution hypotheses when appropriate
- Verify hypotheses against the chain of thought
- Add more thoughts if needed, even at the "end"
- Express uncertainty when present
- Set
nextThoughtNeeded: falseonly when truly done
Example
Thought 1: "Let me analyze this authentication bug. The user reports login failures after password reset..."
Thought 2: "Looking at the code flow: reset generates token -> user clicks link -> new password set. The issue might be..."
Thought 3: "Hypothesis: The session isn't being invalidated after password change. Let me verify..."
Thought 4 (revision): "Actually, reconsidering thought 2 - the token expiry might be the issue, not session..."
Thought 5: "Verified: Token expiry is set to 1 hour but email delivery can take longer. Solution: extend to 24 hours."
Best Practices
- Start with reasonable thought estimate (3-7 for most problems)
- Don't hesitate to revise or add thoughts
- Mark revisions with
isRevision: trueandrevisesThought: N - Express uncertainty rather than guessing
- Use branching for exploring alternatives
- Only set
nextThoughtNeeded: falsewhen confident in solution