GuidesAI agents and human approval
Claude Code: answer its questions from your phone
Get notified when Claude Code is waiting, or answer it remotely with buttons, through an ask_human MCP tool.
You start a long task in Claude Code, go do something else, and come back an hour later to find it has been waiting for an answer for fifty-five minutes. There is a better way.
The problem
Claude Code works in a terminal. When it needs you, for a permission or a choice, it stops and waits until you're back at the screen. On a short task, that's fine. On a long one, it's time lost on both sides.
There are two different needs, often mixed up:
- Being notified that Claude Code is done or waiting for something. A simple notification is enough, then you go back to the terminal.
- Answering remotely a real question: “Should I push to main?”, “Should I delete these 40 files?”, “Which option do I take?”. Here the answer has to reach the agent without you at the keyboard.
Getting notified: hooks
Claude Code can run a command at certain points of its work, through the hooks declared in its settings: for example when it finishes its answer, or when it sends a notification because it is waiting for a permission. A curl command to a notification service such as ntfy is then enough to make your phone buzz. The Claude Code documentation lists the available events and their format.
It's simple and free, but it only goes one way: you know it's waiting, and you still have to go back to the terminal to answer.
Answering remotely: an ask_human tool
The other way is to give Claude Code a tool to ask you its questions. With Aval, connected over MCP, Claude Code calls ask_human with a question and options. The question reaches your phone, on Telegram or by email, with one button per option. You tap, the answer goes back to Claude Code, and it carries on.
To connect it, one command in a terminal:
claude mcp add --transport http aval https://www.taraxe.com/aval/mcpThen, in Claude Code, type /mcp and pick Aval: it asks you to sign in with your email. The account is created on the spot, with 20 free questions.
Telling it when to ask
Claude Code sees the tool, but you have to tell it when to use it. The simplest way is to write it in your project's CLAUDE.md file, which it reads at every session:
When I'm away from the screen and you need me
(a choice, an approval), ask me with the ask_human tool
instead of waiting in the terminal.
Before pushing to main, deploying, deleting files
or data, or spending money, always ask me
with ask_human. If I don't answer, don't do it.Adapt the list to your project. For ideas, see what an AI agent shouldn't do on its own.
What it doesn't replace
The tool doesn't bypass Claude Code's permissions. If a command asks for authorization in the terminal, it still asks there. Aval is for the decisions Claude Code brings to you itself: it asks because you told it to, and it waits for your answer before going on.
That's also why the instruction matters. A well-briefed agent asks you before the moves that count; an agent without instructions will sometimes decide alone.
Frequently asked questions
Does it also work with Cursor or VS Code?
Yes. Aval is an MCP server, it connects the same way in Cursor, VS Code, Claude, ChatGPT and other MCP clients. The Aval page has a button for each.
How long can Claude Code wait for my answer?
The question expires after one hour by default, and Claude Code can choose up to seven days. Until it expires, it checks the answer about every 45 seconds, at no cost.
Do I need to install an app?
No. If you have Telegram, the question arrives in your chat with Aval and you answer with its buttons. Otherwise it arrives by email, with one button per answer.