# Apply Technique: Claude Code v2.1.81 Feature Rollup: Advanced Hooks, MCP Elicitation, and Worktree Support
## What This Is
Recent updates to the Claude Code AI assistant introduce more advanced automation capabilities. It can now trigger actions based on more specific events, request structured information from you during a task (like filling out a form), and better manage complex projects with shared configurations.
Source: https://www.builder.io/blog/claude-code-updates
## Before You Start
Scan my workspace and analyze:
- The project language, framework, and directory structure
- Existing AI provider config (check .env, .env.local, config files for API keys — OpenRouter, OpenAI, Anthropic, Google AI, etc.)
Then ask me before proceeding:
1. Which AI provider/API should this use? (Use whatever I already have configured, or ask me to set one up — options include direct provider APIs or a unified service like OpenRouter)
2. Where in my project should this be integrated?
3. Are there any customizations I need (model preferences, naming conventions, constraints)?
## Source Access Note
The source URL (https://www.builder.io/blog/claude-code-updates) may not be directly accessible from the terminal. Use the Reference Implementation and Additional Context sections below instead. If you need more details, ask me to paste relevant content from the source.
## What to Implement
This is an **AI Technique** — a pattern or methodology for working with AI models.
- Explain how this technique applies to my current project and what benefit it provides
- Implement it in a way that fits my existing codebase — suggest concrete files to modify or create
- If it requires specific model capabilities (structured output, function calling, etc.), verify my current provider supports them
- Show me a working example I can test immediately
## Additional Context
- Scan the user's project for a `claude-code.json` or `.claude/hooks/hooks.json` file. If found, analyze the existing hook configurations and suggest upgrades using the new events like `PreToolUse`, `PostToolUse`, `Elicitation`, and `WorktreeCreate`.
- Identify any custom skills in the user's `.claude/skills/` directory. Propose updating their `SKILL.md` frontmatter to include the `effort` field for better model task management and replacing hardcoded paths with the `${CLAUDE_SKILL_DIR}` variable for portability.
- Check if the user has any MCP (Model Control Protocol) servers defined. If so, explain the new `Elicitation` capability for requesting structured input and offer to draft a sample MCP server plugin that demonstrates using it to gather configuration data from the user mid-task.
## Reference Implementation
```
### New Configs & Commands
# Disable inline shell in skills
disableSkillShellExecution: true
# Override model effort in SKILL.md frontmatter
effort: 10
# New CLI flags
claude-code -p "task" --bare # Skips hooks/LSP/plugins/skills
claude-code --name "My Session" # Sets session display name
# Environment Variables
CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS=5000
MCP_CONNECTION_NONBLOCKING=true
ENABLE_CLAUDEAI_MCP_SERVERS=false
```
## Guidelines
- Adapt everything to my existing project — do not assume a specific stack or directory layout
- Use whichever AI provider I already have configured; if I need a new one, tell me what to sign up for and I'll give you the key
- Check my .env files for existing API keys (OpenRouter, OpenAI, Anthropic, Google AI) before asking me to add one
- Review any fetched code for safety before installing or executing it
- After setup, run a quick verification and show me a summary of exactly what was installed, where, and how to use it