Apps Extension
The Apps extension lets you create, manage, and launch simple custom apps through chat. This feature is ideal for:
- Quick utilities and tools like calculators and converters
- Data visualizations like graphs and dashboards
- Simple games and interactive widgets
Custom apps are single-file HTML applications with JavaScript, CSS, and HTML (no external dependencies or npm packages). They're exposed as MCP App resources that run in standalone, sandboxed windows that you can launch from the Apps page or by asking goose in chat.
You can create, modify, and delete apps through chat without needing to edit files directly. Behind the scenes, the Apps extension stores each app as an HTML file in:
- macOS/Linux:
~/.local/share/goose/apps/ - Windows:
%APPDATA%\Block\goose\data\apps\
Configuration
This is a built-in platform extension that's enabled by default for new users. Platform extensions provide core functionality and are used within goose just like external MCP server extensions.
- goose Desktop
- goose CLI
- Click the button in the top-left to open the sidebar
- Click
Extensionsin the sidebar - Toggle
Appson
- Run the
configurecommand:
goose configure
- Choose to
Toggle Extensions
┌ goose-configure
│
◇ What would you like to configure?
│ Toggle Extensions
│
◆ Enable extensions: (use "space" to toggle and "enter" to submit)
│ ● apps
└ Extension settings updated successfully
Example Usage
Let's ask goose to create a utility app.
Anthropic's Claude Sonnet 4.5 was used for this example.
goose Prompt
Create a JSON formatter app
goose Output
I'll create a JSON formatter app for you. This will be a useful tool for formatting, validating, and beautifying JSON data.
Perfect! I've created a JSON formatter app called "json-beautifier" that should have opened in a new window.
The app includes:
✅ Input & Output Areas: Split view with input on the left and formatted output on the right
✅ Format Button: Prettifies JSON with proper indentation
✅ Minify Button: Compresses JSON to a single line
✅ Validate Button: Checks JSON validity and shows errors
✅ Copy Button: Copies the formatted JSON to clipboard
✅ Clear Button: Resets everything
✅ Syntax Highlighting: Color-coded keys, strings, numbers, and booleans
✅ Indentation Options: Choose between 2 or 4 spaces
✅ Error Display: Clear error messages in red
✅ Character/Line Count: Shows statistics about your JSON
✅ Dark Theme: Modern, easy-on-the-eyes design
You can paste JSON into the left panel and use the buttons to format, minify, validate, or copy it. The app should be ready to use right away!
Results
Here's what the JSON formatter looks like:
The first iteration of my app looks and works great, but you can just ask goose to add features, change the styling, and more!
