Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
1689822
Goose Work
Jul 9, 2025
679adb9
fix: wrap continueInitialization in useCallback and move after depend…
Jul 14, 2025
fd43f47
WIP
Jul 14, 2025
4ab3108
Undo
Jul 14, 2025
835ede5
Show the warning in the right place
Jul 14, 2025
9c414a3
Move it to ipc
Jul 15, 2025
d3beeac
fix: use safe_truncate to truncate charactor (#3263) (#3264)
toyamagu-2021 Jul 15, 2025
b444b5f
docs: typo in guide description (#3429)
angiejones Jul 15, 2025
e048f7d
[feat]: improve file search tools to add globsearch / grep tools (#3368)
ahau-square Jul 15, 2025
73d66eb
fix: improve extension startup error messages with command details (#…
wonrax Jul 15, 2025
c8e29df
Link it and make it quit
Jul 15, 2025
6555a53
feat: Implement streaming for OpenAI (#3413)
jamadeo Jul 15, 2025
8b3c776
docs: update github mcp config (#3433)
dianed-square Jul 15, 2025
70f41d1
feat: `recipe list` (#2814) (#2815)
toyamagu-2021 Jul 15, 2025
f4e3d06
fix: Set include_usage=true for OpenAI streaming (#3441)
jamadeo Jul 15, 2025
a5d7795
[goose-llm] fix image content bug, add optional request_id field (#3439)
salman1993 Jul 15, 2025
f1d039b
chore(release): release version 1.0.36 (#3436)
jamadeo Jul 15, 2025
b22f50d
docs: add CLIStreamExtensionInstructions component (#3443)
dianed-square Jul 15, 2025
77ea27f
UI update with sidebar and settings tabs (#3288)
zanesq Jul 16, 2025
eda8100
fix: Fixes structured output after streaming change to agent (#3448)
jsibbison-square Jul 16, 2025
f8a12a6
Docs: Scheduling recipes - Desktop and Temporal (#3452)
emma-squared Jul 16, 2025
201d5c9
Back Button Restyling (#3442)
caroline-a-mckenzie Jul 16, 2025
98880c3
Update API generation docs and just task (#2668)
Kvadratni Jul 16, 2025
6f808da
feat(cli): Clear persisted session file with /clear command (#3145)
Jay4242 Jul 16, 2025
b6c8e7a
docs: add Cloudflare MCP Server tutorial (#3278)
blackgirlbytes Jul 16, 2025
3d28adf
Align chat input action buttons to bottom when large amount of text (…
zanesq Jul 16, 2025
9ffb57e
Bump more space for goose is working on it so it doesnt overlap incom…
zanesq Jul 16, 2025
30eb1af
fix: session_file is optional (#3462)
jamadeo Jul 16, 2025
2a89c89
feat: add download_cli.ps1 file for windows (#3354)
The-Best-Codes Jul 16, 2025
a5daae5
Document release process and update some just recipes (#3460)
jamadeo Jul 16, 2025
dc0008b
Fix regression: add back detail to tool-call banners (#3231)
LordMelkor Jul 16, 2025
eaba38a
chore: implement streaming for anthropic.rs firstparty provider (#3419)
michaelneale Jul 16, 2025
3b90282
chore(release): release version 1.1.0 (#3465)
zanesq Jul 16, 2025
e5a55db
feat: run sub recipe multiple times in parallel (Experimental feature…
lifeizhou-ap Jul 16, 2025
794f14b
docs: add MongoDB MCP server tutorial (#2660)
mcinteerj Jul 16, 2025
cd940dd
Don't default to main for build-cli (#3467)
jamadeo Jul 17, 2025
33c082c
Fix a few ui edge cases - refresh occasionally crashing, chat loader …
zanesq Jul 17, 2025
21b79ad
feat(gcpvertexai): do HTTP 429 like retries for Anthropic API HTTP 52…
uddhav Jul 17, 2025
9351027
chore: move recipe loading to goose (#3424)
lifeizhou-ap Jul 17, 2025
759cbc7
Add wakelock feature to prevent system sleep while Goose is working (…
simonsickle Jul 17, 2025
6a5791c
Docs: Add Youtube short to Cloudinary MCP tutorial (#3459)
blackgirlbytes Jul 17, 2025
fc40ed2
Docs: Created Component for MCP tutorials (#3475)
blackgirlbytes Jul 17, 2025
c69d1e9
fix: Fixes importing url encoded recipe deeplinks (#3446)
jsibbison-square Jul 17, 2025
e0b3b0f
Enhancement: Extension name tooltips for tool banners (#3250)
LordMelkor Jul 17, 2025
079a64c
fix the output not being visible issue (#3491)
Kvadratni Jul 17, 2025
759cc68
fix issue with generating a share url and add missing url verificatio…
zanesq Jul 17, 2025
ca13eca
Fix llm errors not propagating to the ui and auto summarize not start…
zanesq Jul 17, 2025
9f65455
fix token alert indicator/popovers hiding and showing (#3492)
zanesq Jul 17, 2025
4771ffb
feat: consolidate subagent execution for dynamic tasks (#3444)
wendytang Jul 18, 2025
1e0e72c
feat: add rmcp as a workspace dep (#3483)
alexhancock Jul 18, 2025
b7057b1
Fix tool call allow still showing initial state in chat after navigat…
zanesq Jul 18, 2025
8a6329f
Fix launching session in new window (#3497)
zanesq Jul 18, 2025
a1463e6
fix: working dir was not being set correctly (#3477)
michaelneale Jul 18, 2025
eb5e8b6
fix: Load and Use recipes in new window (#3501)
jsibbison-square Jul 18, 2025
af872b1
Revert "fix the output not being visible issue (#3491)" (#3511)
alexhancock Jul 18, 2025
76da3a9
feat: switch from mcp_core::Role to rmcp::model::Role (#3488)
alexhancock Jul 18, 2025
8c5eea6
Docs: Access settings in new UI (#3514)
emma-squared Jul 18, 2025
d9b3418
docs: update mcp install instructions for desktop (#3504)
dianed-square Jul 18, 2025
78f0711
Alexhancock/reapply 3491 (#3515)
Kvadratni Jul 18, 2025
c730d80
docs: update desktop instructions for tool router (#3519)
dianed-square Jul 18, 2025
a2309d9
docs: update desktop instructions for tool perms (#3518)
dianed-square Jul 18, 2025
d529146
Replace mcp_core::content types with rmcp::model types (#3500)
jamadeo Jul 18, 2025
4896f86
docs: update desktop instructions for session recipes (#3521)
dianed-square Jul 19, 2025
c38c7f1
docs: update desktop instructions for managing sessions (#3522)
dianed-square Jul 19, 2025
78b30cc
feat: Add LiteLLM provider with automatic prompt caching support (#3380)
HikaruEgashira Jul 19, 2025
ef49632
feat: deprecate jetbrains extension in favor of public one (#2589)
yingjiehe-xyz Jul 19, 2025
e2e656c
refactor: Centralise deeplink encode and decode into server (#3489)
jsibbison-square Jul 20, 2025
1db0cf2
Rust debug (#3510)
DOsinga Jul 20, 2025
4926e35
Catch json errors a little better (#3437)
DOsinga Jul 20, 2025
1547a3f
add recipe warning modal
zanesq Jul 20, 2025
bbbf994
fix background of modal
zanesq Jul 20, 2025
4552dd6
Merge branch 'add-install-warning' of github.com:block/goose into zan…
zanesq Jul 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/build-cli.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ on:
ref:
type: string
required: false
default: 'refs/heads/main'
default: ""

name: "Reusable workflow to build CLI"

Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/bundle-desktop-intel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,8 @@ jobs:
- name: Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
ref: ${{ inputs.ref }}
# Only pass ref if it's explicitly set, otherwise let checkout action use its default behavior
ref: ${{ inputs.ref != '' && inputs.ref || '' }}
fetch-depth: 0

# Update versions before build
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/bundle-desktop-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ jobs:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # pin@v4
with:
ref: ${{ inputs.ref }}
# Only pass ref if it's explicitly set, otherwise let checkout action use its default behavior
ref: ${{ inputs.ref != '' && inputs.ref || '' }}
fetch-depth: 0

# 2) Update versions before build
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/bundle-desktop-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@ jobs:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # pin@v4
with:
ref: ${{ inputs.ref }}
# Only pass ref if it's explicitly set, otherwise let checkout action use its default behavior
ref: ${{ inputs.ref != '' && inputs.ref || '' }}
fetch-depth: 0

# 2) Configure AWS credentials for code signing
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ ui/desktop/src/bin/goose_llm.dll
# Hermit
.hermit/

# Claude
.claude

debug_*.txt

# Docs
Expand Down
15 changes: 15 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,21 @@ you can talk to goose!

You can now make changes in the code in ui/desktop to iterate on the GUI half of goose.

### Regenerating the OpenAPI schema

The file `ui/desktop/openapi.json` is automatically generated during the build.
It is written by the `generate_schema` binary in `crates/goose-server`.
If you need to update the spec without starting the UI, run:

```
just generate-openapi
```

This command regenerates `ui/desktop/openapi.json` and then runs the UI's
`generate-api` script to rebuild the TypeScript client from that spec.

Changes to the API should be made in the Rust source under `crates/goose-server/src/`.

## Creating a fork

To fork the repository:
Expand Down
61 changes: 52 additions & 9 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 4 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ resolver = "2"

[workspace.package]
edition = "2021"
version = "1.0.35"
version = "1.1.0"
authors = ["Block <ai-oss-tools@block.xyz>"]
license = "Apache-2.0"
repository = "https://github.com/block/goose"
Expand All @@ -13,6 +13,9 @@ description = "An AI agent"
[workspace.lints.clippy]
uninlined_format_args = "allow"

[workspace.dependencies]
rmcp = { version = "0.2.1", features = ["schemars"] }

# Patch for Windows cross-compilation issue with crunchy
[patch.crates-io]
crunchy = { git = "https://github.com/nmathewson/crunchy", branch = "cross-compilation-fix" }
34 changes: 24 additions & 10 deletions Justfile
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,13 @@ run-ui-only:
@echo "Running UI..."
cd ui/desktop && npm install && npm run start-gui

debug-ui:
@echo "🚀 Starting Goose frontend in external backend mode"
cd ui/desktop && \
export GOOSE_EXTERNAL_BACKEND=true && \
export GOOSE_EXTERNAL_PORT=3000 && \
npm install && \
npm run start-gui

# Run UI with alpha changes
run-ui-alpha temporal="true":
Expand Down Expand Up @@ -177,6 +184,13 @@ run-server:
@echo "Running server..."
cargo run -p goose-server

# Generate OpenAPI specification without starting the UI
generate-openapi:
@echo "Generating OpenAPI schema..."
cargo run -p goose-server --bin generate_schema
@echo "Generating frontend API..."
cd ui/desktop && npm run generate-api

# make GUI with latest binary
lint-ui:
cd ui/desktop && npm run lint:check
Expand Down Expand Up @@ -274,20 +288,19 @@ install-deps:
cd ui/desktop && npm install
cd documentation && yarn

# ensure the current branch is "main" or error
ensure-main:
ensure-release-branch:
#!/usr/bin/env bash
branch=$(git rev-parse --abbrev-ref HEAD); \
if [ "$branch" != "main" ]; then \
echo "Error: You are not on the main branch (current: $branch)"; \
if [[ ! "$branch" == release/* ]]; then \
echo "Error: You are not on a release branch (current: $branch)"; \
exit 1; \
fi

# check that main is up to date with upstream main
git fetch
# @{u} refers to upstream branch of current branch
if [ "$(git rev-parse HEAD)" != "$(git rev-parse @{u})" ]; then \
echo "Error: Your branch is not up to date with the upstream main branch"; \
echo "Error: Your branch is not up to date with the upstream branch"; \
echo " ensure your branch is up to date (git pull)"; \
exit 1; \
fi
Expand All @@ -309,7 +322,7 @@ validate version:
fi

# set cargo and app versions, must be semver
release version: ensure-main
prepare-release version:
@just validate {{ version }} || exit 1

@git switch -c "release/{{ version }}"
Expand All @@ -327,8 +340,8 @@ release version: ensure-main
get-tag-version:
@uvx --from=toml-cli toml get --toml-path=Cargo.toml "workspace.package.version"

# create the git tag from Cargo.toml, must be on main
tag: ensure-main
# create the git tag from Cargo.toml, checking we're on a release branch
tag: ensure-release-branch
git tag v$(just get-tag-version)

# create tag and push to origin (use this when release branch is merged to main)
Expand All @@ -337,9 +350,9 @@ tag-push: tag
git push origin tag v$(just get-tag-version)

# generate release notes from git commits
release-notes:
release-notes old:
#!/usr/bin/env bash
git log --pretty=format:"- %s" v$(just get-tag-version)..HEAD
git log --pretty=format:"- %s" {{ old }}..v$(just get-tag-version)

### s = file seperator based on OS
s := if os() == "windows" { "\\" } else { "/" }
Expand Down Expand Up @@ -447,3 +460,4 @@ kotlin-example:
-Djna.library.path=$HOME/Development/goose/target/debug \
-classpath "example.jar:libs/kotlin-stdlib-1.9.0.jar:libs/kotlinx-coroutines-core-jvm-1.7.3.jar:libs/jna-5.13.0.jar" \
UsageKt

Loading
Loading