GitHub argues chat is the wrong AI UI: Canvas lets your agent build tools instead of burning tokens
GitHub Blog AI/ML · rss · 2026-09-25
GitHub's official blog argues that while chat is the default interface for LLMs, it's often the wrong one—once you know your task, you need a custom UI built for it. The piece showcases Canvas in the GitHub Copilot app: a full-stack mini-app that runs without browser chrome, communicates bidirectionally with the agent, can call third-party APIs, and execute code locally.
Examples include:
- A Connect 4 game you play against the agent (author beat Luna without reasoning, lost to high-reasoning Sol)
- A Winget UI with zero AI inside—which is the point
- A SQLite canvas with IntelliSense, so you stop asking the agent to query for you
- Reviving Windows Live Writer for Jekyll blogging
The core argument: when chat is the only interface, you default to making the agent do everything, which is pure token waste. Better to have the agent build a tool once so all future interactions are free—stop asking GPT-5.6 Sol Max to "stage and commit".
The post also walks through automating a full dev workflow (Research → Prototype → Plan → Implement → Iterate → Finalize) with a canvas, keeping yourself out of the loop except for reviews. The SQLite canvas is one-shottable; the workflow canvas took most of a day to get right.
More from coding & agent
- AI compliance startup CompAI hits 1,000+ paying business customers in under a year — JosephJacks_ · 2026-09-25
- Sleep Data for Personal AI? Separating Daily Signals from Hard Rules — sujingshen · 2026-09-25
- Markdown Is the New Source Code: How to Manage Runbooks, Prompts and Rules for Agents — arpit_bhayani · 2026-09-25
- The personal agent supercycle needs hard authorization boundaries, not autonomy — sujingshen · 2026-09-25
- Mnemos.Field nears launch: a virtual world where humans and AI agents both register and participate — RileyRalmuto · 2026-09-25
- SemIf open-sources a Jev-style interface: typed option probabilities from a 4B model, no JSON parsing — JeremyCMorgan · 2026-09-25