Skip to content
This repository was archived by the owner on Oct 8, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -155,10 +155,10 @@ prism gemini -p 'Reply with exactly GEMINI_OK.'

Before each run Prism removes common API-billing environment variables and persistently sets `useG1Credits=false` in Antigravity's shared configuration. If that safety setting cannot be written, Prism fails before launching agy. This disables AI Credit fallback without copying or changing agy's signed-in Google identity. `prism usage` and `prism gemini usage` read the live Antigravity quota through the same official CLI.

The default model is `gemini-3.7-flash-low`. For harder software-engineering or multi-step tool-use tasks, select `gemini-3.1-pro-high` explicitly:
The default model is the latest subscription model, `gemini-3.8-flash-high`:

```sh
prism gemini --model gemini-3.1-pro-high -p 'Review this repository.'
prism gemini --model gemini-3.8-flash-high -p 'Review this repository.'
```

Antigravity CLI must be installed on `PATH`; Prism invokes it internally and keeps `prism gemini` as the user-facing command. When no local session exists, the first `prism gemini` run starts Antigravity's official Google sign-in flow.
Expand Down
5 changes: 2 additions & 3 deletions internal/cli/gemini.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import (
"strings"
)

const defaultGeminiModel = "gemini-3.7-flash-low"
const defaultGeminiModel = "gemini-3.8-flash-high"

type geminiCLIExecutable struct {
path string
Expand Down Expand Up @@ -182,7 +182,6 @@ or proxies its OAuth tokens. Common API-billing environment variables are
removed before every run, and useG1Credits=false is persisted before launch
to disable AI Credit fallback. If no session exists, agy starts its official
Google sign-in flow automatically.
The default model is gemini-3.7-flash-low; use --model gemini-3.1-pro-high for
hard software-engineering and multi-step tool-use work. Other Antigravity CLI
The default model is gemini-3.8-flash-high. Other Antigravity CLI
arguments are passed through the Prism surface.`)
}
8 changes: 4 additions & 4 deletions internal/cli/gemini_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ import (
"testing"
)

func TestGeminiDefaultsTo37FlashLowAndPreservesExplicitModel(t *testing.T) {
if got := withDefaultGeminiModel([]string{"-p", "hello"}); !reflect.DeepEqual(got, []string{"--model", "gemini-3.7-flash-low", "-p", "hello"}) {
func TestGeminiDefaultsTo38FlashHighAndPreservesExplicitModel(t *testing.T) {
if got := withDefaultGeminiModel([]string{"-p", "hello"}); !reflect.DeepEqual(got, []string{"--model", "gemini-3.8-flash-high", "-p", "hello"}) {
t.Fatalf("default args = %#v", got)
}
for _, args := range [][]string{{"--model", "gemini-3.1-pro-high", "-p", "hard"}, {"-m", "gemini-3.1-pro-high"}, {"--model=gemini-3.1-pro-high"}} {
Expand All @@ -28,7 +28,7 @@ func TestGeminiHelpDocumentsAntigravityContract(t *testing.T) {
if err := runGeminiCommand(context.Background(), []string{"--help"}, &output, io.Discard); err != nil {
t.Fatal(err)
}
for _, value := range []string{"official Antigravity CLI", "never copies", "API-billing environment", "useG1Credits=false", "sign-in flow automatically", "gemini-3.7-flash-low", "gemini-3.1-pro-high"} {
for _, value := range []string{"official Antigravity CLI", "never copies", "API-billing environment", "useG1Credits=false", "sign-in flow automatically", "gemini-3.8-flash-high"} {
if !strings.Contains(output.String(), value) {
t.Fatalf("help omitted %q: %s", value, output.String())
}
Expand Down Expand Up @@ -81,7 +81,7 @@ func TestRunAntigravityPassesStreamingAndTimeoutArgumentsAndScrubsAPIKeys(t *tes
if err := runAntigravity(context.Background(), geminiCLIExecutable{path: executable}, args, strings.NewReader(""), &output, io.Discard); err != nil {
t.Fatal(err)
}
want := "--model\ngemini-3.7-flash-low\n-p\nhello\n--output-format\nstream-json\n--print-timeout\n30m\n"
want := "--model\ngemini-3.8-flash-high\n-p\nhello\n--output-format\nstream-json\n--print-timeout\n30m\n"
if output.String() != want {
t.Fatalf("output = %q, want %q", output.String(), want)
}
Expand Down
Loading