Asana's official Claude MCP connector can't create tasks in Claude Code CLI because its tools require interactive UI

Asana’s official Claude connector uses a tool called create_task_preview instead of create_task. The name suggests a preview, but it’s actually the primary creation tool in the v2 integration. The catch: it requires an interactive UI to render a confirmation step. Claude Code CLI can’t render that interface, so task creation silently fails. This was surfaced in the Asana forum after create_task also went missing from v1 toolset temporarily (Asana accidentally dropped it during a v2 update, now restored). Asana confirmed the CLI issue separately and said they’re working on detecting whether the surface supports interactivity before offering interactive tools. ETA: about a week from March 26. ...

HTTPie interprets numeric keys as array indexes, breaks Asana custom field updates

Asana custom field GIDs are long numeric strings. When you pass them as nested keys in HTTPie’s bracket syntax, HTTPie sees a numeric key and assumes you’re building an array, then tries to allocate memory up to that index. With a 16-digit GID, that’s enough to OOM the process. This breaks: https --session pat PUT https://app.asana.com/api/1.0/tasks/1208765432100001 \ data[custom_fields][1205432109876543]="1205432109876544" HTTPie reads 1205432109876543 as an array index and tries to build a sparse array of that size. It never gets to make the request. ...

LLMs struggle with Asana's strict non-standard rich text format

Asana’s rich text API doesn’t use standard HTML. It accepts a strict subset with specific rules: only certain tags are allowed, nesting rules differ from what browsers tolerate, and the format is closer to XML than HTML, meaning unclosed tags, loose attributes, or anything outside the allowed set will be rejected or silently mangled. LLMs tend to produce plausible-looking but subtly wrong output here. They’ll use tags Asana doesn’t support, nest things incorrectly, or generate valid HTML that Asana’s parser rejects. ...

MCP servers support prompts as a first-class concept, separate from tools

When I shipped mcp-server-asana 1.1.0, the headline addition wasn’t the six new Asana tools (task dependencies, stories, subtasks, project sections). It was prompts. In the MCP protocol, prompts and tools are distinct concepts. Tools are individual actions an LLM can invoke: create a task, add a dependency, fetch a comment. Prompts are predefined conversation templates: parameterized, reusable starting points that an MCP host can surface directly to users. The task-summary prompt added in 1.1.0 illustrates the difference. Instead of leaving the LLM to figure out what to fetch and how to present it, the prompt defines a scaffold: current status, key updates, blockers, next steps. The LLM gets structure, not a blank page. ...