Eclipse Theia 1.69 Release: News and Noteworthy

March 10, 2026 | 16 min Read

We are happy to announce the Eclipse Theia 1.69 release! The release contains in total 88 merged pull requests. In this article, we will highlight some selected improvements and provide an overview of the latest news around Theia.

For those new to Eclipse Theia, it is the next-generation platform for building IDEs and tools for the web or desktop, based on modern state-of-the-art web technologies. With Theia AI, part of the Theia platform, you can also build AI-powered tools and IDEs with ease. For more details about Eclipse Theia, please refer to this article and visit the Theia website.

The Theia project also releases a product, the Theia IDE. The Eclipse Theia IDE is a modern, AI-native, and open IDE for cloud and desktop environments, aimed at end users. The Theia IDE is based on the Theia platform and also includes advanced AI powered features. For more details, see the Theia IDE website.

If you are looking for a simple way to check out the new release, please download and install the Theia IDE, which is based on Theia 1.69.

Eclipse Theia 1.69: Selected features and improvements

In the following, we will highlight some selected improvements in the new release. As usual, we cannot mention all 88 improvements, however we will focus on the most notable changes as well as changes visible to end users. The corresponding pull requests are linked under the respective heading when applicable.

Agent Capabilities

The AI agent ecosystem has grown rapidly-MCP servers, Skills, sub-agents, prompt fragments, tool functions-and with that growth comes complexity. More and more, modern tools expect users to navigate all of these concepts fluently, while in reality they are focused on something completely different: the actual work they do with AI tools.

Theia 1.69 introduces Capabilities, a new concept that helps consolidatating all of these building blocks under a single, user-friendly umbrella. Rather than asking users to understand and configure each technical mechanism individually, Capabilities put the user experience first: an agent simply advertises what it can do, and users toggle those options on or off without worrying about the plumbing underneath.

Here is what that looks like in practice for the Theia Coder agent. Want to give Coder access to shell commands, GitHub, or automated UI testing? Just toggle the corresponding capability chip-done.


Toggling Coder agent capabilities, such as Shell Execution, GitHub, and AppTester, directly in the chat input.

Let’s look at how this works in more detail.

Under the hood - how agent builders define capabilities

As an end user you don’t need to understand any of this-just toggle the chips that look useful and you’re good to go. If you’re curious how Theia Coder uses capabilities in practice, feel free to skip ahead to the next section.

For teams building AI-powered tools and IDEs on top of Theia AI, Capabilities provide a simple way to expose agent functionality to users. A Capability is backed by the new {{capability:fragment-id [default on|off]}} syntax in prompt templates (#16985). When enabled, the corresponding prompt fragment is resolved and included in the agent’s system message; when disabled, it resolves to nothing. Each capability carries a human-readable name and description (via prompt fragment frontmatter) and appears as a compact toggle chip directly in the chat input area. Users can flip capabilities on or off per request, and their choices are persisted per session so they are restored when switching back.

For example, the Theia Coder agent’s prompt template includes the following lines to offer its three optional capabilities:

{{capability:shell-execution default off}}
{{capability:github default off}}
{{capability:apptester default off}}

That is all it takes. Each line registers a toggleable capability chip in the UI, backed by the corresponding prompt fragment. Agent builders can encapsulate a rich piece of agent behavior-complete with tool registrations, delegation instructions, and contextual prompts-behind a single named toggle. They decide which capabilities to offer, whether they default to on or off, and how they are labeled and described. Their users simply see a set of clear options without needing to know what happens underneath.

Capabilities in action: Theia Coder

The Theia Coder agent in agent mode demonstrates the concept with three opt-in capabilities, each disabled by default (#17049):

The Shell Execution capability grants access to the shellExecute tool. When enabled, the Coder agent can run shell commands while still preferring workspace tasks and dedicated file tools first-shell execution is the fallback, not the default path.

The GitHub capability enables GitHub interactions by delegating to the GitHub agent. When toggled on, Coder knows how to hand off work like reading issues, creating pull requests, or querying repositories with precise delegation prompts.

The AppTester capability activates post-implementation UI testing. After completing an implementation, Coder automatically delegates to the AppTester agent to verify the result, creating a seamless implement-and-test loop.

For end users this is straightforward: see a capability chip labeled “Shell Execution” or “GitHub”, click it, and the Coder agent gains that skill for the current request. No need to understand that one uses a tool function, another delegates to a sub-agent, and a third injects a prompt fragment-the Capability abstraction hides all of that.

Generic Capabilities panel for advanced users

While agent-specific capability chips cover the curated, builder-intended experience, advanced users sometimes want full control. The new Generic Capabilities Panel (#17041) provides exactly that. Toggled via a toolbar button or Ctrl+Shift+. (Cmd+Shift+. on Mac), the panel expands above the chat editor and presents a searchable tree of everything available: Skills, MCP server functions (grouped by server), built-in functions (grouped by provider), Prompt Fragments, Agent Delegation targets, and Variables.


The Generic Capabilities Panel lets advanced users browse and select from all available Skills, MCP tools, functions, prompt fragments, and more.

Items already referenced in the agent’s prompt template are automatically detected and shown as disabled to prevent duplication. Selected capabilities are resolved at request time and appended to the agent’s system message, so the LLM receives the full enriched context without any permanent change to the agent configuration. MCP server tools appear live in the tree as servers start and stop, making it easy to include freshly connected tools in the very next request. A small blue badge on the tools icon indicates that active selections exist even when the panel is collapsed.

This creates a deliberate duality-both in concept and in UX. Agent builders curate the capabilities that matter most for their audience and surface them as simple toggle chips. Power users who want to go further open the generic panel and wire up any combination they like. Both paths coexist naturally in the same interface.

A new approach-we want your feedback

Capabilities represent a shift in how we think about AI agent extensibility in Theia. Instead of exposing every technical knob, we are introducing a layer that prioritizes discoverability and ease of use while still giving full access to advanced users. This is very much an evolving concept, and we are eager to hear how it works in practice-whether you are building agents on Theia AI or using the Theia IDE as an end user. Please share your feedback via GitHub or reach out to us directly.

Smart Shell Command Permission UI

The shell command confirmation experience introduced in Theia 1.68 receives a major upgrade in 1.69. Instead of generic “Allow” / “Deny” buttons, the confirmation UI now presents split buttons with smart pattern-based suggestions derived from the command being executed.

When an agent proposes a shell command, the Allow split button shows a dropdown with suggestions like “Always allow git *” or “Always allow git commit *”, ordered from broadest to most specific. The Deny split button offers similar pattern options plus a “Deny with reason…” action that reveals an inline text input so the user can provide feedback directly to the agent. For particularly broad permissions-such as “Always allow all shell commands”-a warning confirmation dialog appears to ensure the decision is intentional.


The new split buttons offer pattern-based suggestions like "Always allow git status *" alongside "Deny with reason" for direct agent feedback.

Under the hood, the analyzer parses compound shell commands and correctly handles quoted strings, pipe operators, and redirects, so patterns are generated from the actual sub-commands rather than the raw text. A “Configure shell command permissions” link below the buttons opens the AI Tools configuration tab directly, keeping the full permission management just one click away.

Coder Agent: Consolidated Prompts and Launch Configuration Support

The Theia Coder agent’s prompt variants have been streamlined in 1.69. The former “Agent Mode Next” prompt has been promoted to become the standard Agent Mode, meaning all Coder agent mode users now benefit from the more capable prompt by default. The older simple edit variant has been retired to reduce confusion when choosing between modes.

Alongside this, Coder now has access to launch configuration tools (listLaunchConfigurations, runLaunchConfiguration, stopLaunchConfiguration), enabling it to start and manage long-running applications-such as a development server-when implementing and testing features.

Architect Agent: Plan Mode as Default

The Architect agent has been simplified and its planning capabilities are now the default experience. The previous default prompt mode has been retired, and the planning (“plan mode”) prompt-which generates structured implementation plans with an “Execute with Coder” action-is now the mode users encounter out of the box. The legacy TaskContext infrastructure (including the AI_SUMMARIZE_SESSION_AS_TASK_FOR_CODER and AI_UPDATE_TASK_CONTEXT_COMMAND commands) has been removed, keeping the agent focused and easier to understand.

AppTester: Chrome DevTools as Default

The AppTester agent’s prompt variants have been restructured so that the Chrome DevTools-based autonomous testing approach is now the default. The previous Playwright MCP-based prompt moves to an explicit playwright variant, which remains available for teams that prefer browser automation through Playwright. Users who were on the next variant will find their behavior unchanged, while new users will immediately benefit from the more powerful Chrome DevTools approach without any configuration.

Prompt Fragment Metadata via Frontmatter

Prompt fragment files (.prompttemplate) can now carry human-readable name and description metadata via YAML frontmatter:

---
name: App Tester
description: Delegate testing to the AppTester agent after implementation
---
Template content here...

These fields are parsed on registration and displayed in the UI instead of the raw fragment ID. Capability chips in the chat input now show the name as their label and display the description in a tooltip on hover. The agent configuration table also uses these fields. Built-in fragments can embed frontmatter directly in their template string, and the metadata is stripped before the content is sent to the LLM. When a user customizes a built-in fragment, the current locale’s translated name and description are baked into the frontmatter automatically.

Chat View Improvements

The AI chat view receives a collection of polish and usability improvements in 1.69.

Refreshed welcome screen (#16894, #17039): The chat welcome screen now displays recent chat sessions as clickable cards so you can resume a previous conversation with a single click. A “Browse all chats…” link opens the full session history. The welcome screen has been redesigned with a streamlined logo, more concise copy, and consistent styling across all states. Sessions with unread messages are marked with a badge that tracks per-session state, and the sessions list is hidden when no models are ready to avoid a confusing experience.

Smarter completion notifications (#17029): Notifications for completed AI agent tasks are now suppressed only when the user is actively viewing the exact session that just completed-not whenever any chat widget is open. Per-agent notification type settings are available via a dropdown in the AI Configuration view, and clicking a notification focuses the corresponding session directly.

Image rendering in chat requests (#17024): Images pasted inline are rendered as thumbnails at their insertion point; images attached via the + button are grouped below the request text. Duplicate images are deduplicated automatically.


Images pasted inline or attached via the + button are now rendered as thumbnails

Tool call hover (#16990): Hovering over a tool call’s argument section now shows interactive, scrollable tooltips. Short strings render as plain text, longer content as code blocks, and objects/arrays as indented JSON. The hover trigger is scoped to the args label only, preventing cascading tooltips when scrolling through chat history.

MCP Server CRUD and Skills Slash Commands in Configuration UI

The AI Configuration view gains hands-on MCP server management in 1.69. Users can now add, edit, and delete MCP servers-both local stdio servers and remote HTTP/SSE servers-through dialog-based forms that persist changes to preferences. No more manual JSON editing in the settings file.

The Skills configuration widget has also been extended to display slash commands alongside the existing skills table, with each slash command showing its associated agent. This makes it easier to discover what slash commands are available and understand which agent handles each one.

GitHub Copilot UX Improvements

The GitHub Copilot integration introduced in Theia 1.68 receives a round of UX polish. A confirmation dialog now appears before signing out to prevent accidental sign-outs. When AI features are disabled globally, the Copilot status bar item is hidden and Copilot commands are removed from the command palette, keeping the UI clean for users who haven’t enabled AI. The status bar item now shows “Sign in to GitHub Copilot” when the user is not yet authenticated, making the onboarding flow more discoverable.

Claude Code Integration Improvements (#16961, #16981)

Theia supports running Claude Code as an embedded agent directly in the AI chat, giving users access to Anthropic’s autonomous coding agent without leaving the IDE. In Theia 1.69, the integration receives two practical improvements that make working with Claude Code smoother.

First, tool approvals can now be granted for the entire chat session (#16961). Previously, every tool call required individual confirmation, which became tedious during longer autonomous runs. A new “Allow for this session” option lets users approve a tool once, and all subsequent uses of that tool within the same session are automatically allowed without further prompts.

Second, the AskUserQuestion tool is now fully supported (#16981), allowing Claude Code to ask clarifying questions and wait for the user’s answer inline in the chat. This enables more interactive workflows where the agent can gather additional context mid-task rather than guessing or failing.

Thinking Mode Configuration

Theia 1.69 makes it easier to control the “thinking” or extended reasoning feature supported by models such as Anthropic’s Claude. A new preference allows configuring thinking mode per provider, per model, or per agent. Alternatively, users can toggle thinking mode directly in the {…} request settings menu in the chat input-no need to dig through the global settings for a one-off request.

The behavior is intentionally provider-agnostic: Anthropic models honor the thinking budget precisely, while OpenAI reasoning models may interpret the setting differently depending on the API version. Ollama models that always output thinking tokens will continue to do so regardless of the preference. This flexibility means the feature works well as a default-off “power user” toggle without breaking any existing configuration.

Additional Improvements

The 1.69 release includes many more noteworthy changes beyond the headline features.

VS Code API compatibility has been upgraded to version 1.109.4, including the new QuickInputButtonLocation enum and location/toggle properties on QuickInputButton. Note that inline button rendering and toggle visuals await a future Monaco update; buttons will currently render in the quick input title area.

Extensions view: the “Install Specific Version…” picker now correctly deduplicates versions for extensions that publish separate platform-specific builds, so each version appears exactly once.

Preferences editor: when a user focuses a specific preference during a search and then clears the search term, the editor now scrolls to that preference in the unfiltered view rather than jumping to the top.

InputBox validation: validation error messages in vscode.window.showInputBox and vscode.window.createInputBox now display with correct severity-based colors-red for errors, yellow for warnings, and blue for info.

Debug call stack: the execution pointer (top stack frame marker) now remains visible in the source file when navigating the call stack to other frames, rather than disappearing when a non-top frame is selected.

Dirty diff peek view: handleVisibilityChanged is now properly called for embedded diff editors, fixing an edge case where the diff editor could fail to connect to its model when opened from a non-visible state.

Merge editor: the merge editor now surfaces more precise state labels and context-appropriate actions for special conflict cases-for example, when both sides are identical, the header shows Left = Right and offers a “Reset to base” action instead of the generic accept/remove buttons.

AI History view: the agent list is now sorted alphabetically and shows only enabled agents, and it updates live when agents are added, removed, or toggled.

AI Configuration view: all lists (MCP servers, variables, tools, prompts) are now sorted alphabetically, and agents are sorted alphabetically in the agent configuration view as well.

MCP Roots support: Theia’s MCP integration now supports the Roots capability from the MCP specification. By default, the current workspace is sent as the root to MCP servers, which provides an important safety guard-for example, a filesystem MCP server will only have access to the workspace directory rather than the entire system. This behavior can be disabled via the ai-features.mcp.useWorkspaceAsRoot preference when broader access is needed.

Custom Anthropic models: users can now configure custom Anthropic models with custom endpoints, model IDs, and API keys-mirroring the existing support for custom OpenAI models. This is useful when accessing Anthropic models through a proxy or private deployment.

Ollama provider: a fix ensures tool call results are correctly yielded to the response stream before the tool handler is called, resolving reliability issues with tool-capable Ollama models.

Terminal buffer: TerminalBuffer.getLines() now iterates in natural top-to-bottom order and properly utilizes the start parameter, fixing multiline regex matching and eliminating the need for consumers to manually reverse the result.

Memory management: a significant improvement to ContainerBasedContributionProvider drops the reference to the DI container once services are cached, addressing a long-standing memory retention issue where closed widgets could be held in memory via contribution provider chains. A new bindRootContributionProvider utility ensures the root container is always used for top-level contribution providers.

File diagnostics: the FileDiagnosticProvider used by the Coder agent no longer opens an editor tab as a side effect when retrieving diagnostics for a file.

Model updates: default model configurations across Anthropic, Google, and OpenAI have been updated to the latest available models. Anthropic defaults now include claude-sonnet-4-6, claude-opus-4-6, and their 4-5 counterparts. Google defaults feature gemini-3.1-pro-preview alongside gemini-3-flash-preview. OpenAI defaults have been pruned to remove stale entries. Model aliases have been updated accordingly, with claude-opus-4-6 now as the default in model aliases. Note that the claude-opus-4-6 max output token limit has also been corrected to 32,000.

Localization: the localization pipeline has been significantly improved with support for string concatenation and template literals in nls extraction, a DeepL context parameter for more accurate IDE-specific translations, and sequential API calls to avoid rate limiting. All translation files have been regenerated with the improved quality settings.

For a complete overview of all changes in this release, please refer to the 1.69 milestone. All these features and improvements (in total 88) were the result of one month of intensive development. Eclipse Theia follows a monthly release schedule. We are looking forward to the next release due next month, stay tuned! To be notified about future releases, follow us on LinkedIn or follow Theia on Twitter and subscribe to our mailing list.

If you are interested in building custom tools or IDEs based on Eclipse Theia, EclipseSource provides consulting and implementation services for Eclipse Theia, for AI-powered tools, as well as for web-based tools in general.

Furthermore, if you want to extend Theia, Theia AI or the Theia IDE with new features or strategically invest into the project, EclipseSource provides sponsored development for Theia, too. Finally, we provide consulting and support for hosting web-based tools in the cloud.

👉 Get in contact with us, to discuss your use case!

👉 Subscribe to our YouTube channel

Stay Updated with Our Latest Articles

Want to ensure you get notifications for all our new blog posts? Follow us on LinkedIn and turn on notifications:

  1. Go to the EclipseSource LinkedIn page and click "Follow"
  2. Click the bell icon in the top right corner of our page
  3. Select "All posts" instead of the default setting
Follow EclipseSource on LinkedIn

Jonas, Maximilian & Philip

Jonas Helming, Maximilian Koegel and Philip Langer co-lead EclipseSource, specializing in consulting and engineering innovative, customized tools and IDEs, with a strong …