diff --git a/packages/app/src/assets/acp-provider-icons.ts b/packages/app/src/assets/acp-provider-icons.ts
index 2de2398230..65f123cb3d 100644
--- a/packages/app/src/assets/acp-provider-icons.ts
+++ b/packages/app/src/assets/acp-provider-icons.ts
@@ -42,6 +42,7 @@ export const ACP_PROVIDER_ICON_SVGS = {
'\n',
"github-copilot-cli":
'\n',
+ gjc: '\n',
"glm-acp-agent":
'\n',
goose:
diff --git a/packages/app/src/assets/acp-provider-icons/gjc.svg b/packages/app/src/assets/acp-provider-icons/gjc.svg
new file mode 100644
index 0000000000..ac42194731
--- /dev/null
+++ b/packages/app/src/assets/acp-provider-icons/gjc.svg
@@ -0,0 +1,7 @@
+
diff --git a/packages/app/src/components/provider-icon-name.test.ts b/packages/app/src/components/provider-icon-name.test.ts
index fabfbd25e4..a0b25d63d7 100644
--- a/packages/app/src/components/provider-icon-name.test.ts
+++ b/packages/app/src/components/provider-icon-name.test.ts
@@ -18,6 +18,7 @@ describe("resolveProviderIconName", () => {
it("returns the catalog identifier for ACP catalog provider ids that ship an icon", () => {
expect(resolveProviderIconName("amp-acp")).toEqual({ kind: "catalog", id: "amp-acp" });
expect(resolveProviderIconName("gemini")).toEqual({ kind: "catalog", id: "gemini" });
+ expect(resolveProviderIconName("gjc")).toEqual({ kind: "catalog", id: "gjc" });
expect(resolveProviderIconName("traecli")).toEqual({ kind: "catalog", id: "traecli" });
});
diff --git a/packages/app/src/data/acp-provider-catalog.ts b/packages/app/src/data/acp-provider-catalog.ts
index 6eaf004226..1fdb1c6f5d 100644
--- a/packages/app/src/data/acp-provider-catalog.ts
+++ b/packages/app/src/data/acp-provider-catalog.ts
@@ -187,6 +187,19 @@ const CATALOG_DATA = [
installLink: "https://geminicli.com",
command: ["npx", "-y", "@google/gemini-cli@0.52.0", "--acp"],
},
+ {
+ id: "gjc",
+ title: "Gajae Code",
+ description:
+ "Runs on the Claude/Codex/Gemini subscription you already pay for. Plan-before-mutation workflows, evidence-gated execution, and approval prompts for shell and destructive edits.",
+ version: "manual",
+ iconId: "gjc",
+ installLink: "https://gajae-code.com",
+ command: ["gjc", "acp"],
+ env: {
+ GJC_ACP_PERMISSION_MODE: "prompt",
+ },
+ },
{
id: "glm-acp-agent",
title: "GLM Agent",
diff --git a/packages/app/src/hooks/use-acp-provider-catalog.test.ts b/packages/app/src/hooks/use-acp-provider-catalog.test.ts
index 1240ddcd5e..63e360aba0 100644
--- a/packages/app/src/hooks/use-acp-provider-catalog.test.ts
+++ b/packages/app/src/hooks/use-acp-provider-catalog.test.ts
@@ -81,6 +81,13 @@ describe("ACP provider catalog", () => {
});
});
+ it("registers Gajae Code with its ACP command and permission-prompt env", () => {
+ const patch = buildAcpProviderConfigPatch(findProvider("gjc"));
+
+ expect(patch.providers?.gjc?.command).toEqual(["gjc", "acp"]);
+ expect(patch.providers?.gjc?.env).toEqual({ GJC_ACP_PERMISSION_MODE: "prompt" });
+ });
+
it("preserves provider params in the daemon config patch", () => {
const droidPatch = buildAcpProviderConfigPatch(findProvider("factory-droid"));
diff --git a/packages/protocol/src/provider-icon-names.ts b/packages/protocol/src/provider-icon-names.ts
index ab6b8b9f74..6265b631c3 100644
--- a/packages/protocol/src/provider-icon-names.ts
+++ b/packages/protocol/src/provider-icon-names.ts
@@ -27,6 +27,7 @@ export const ACP_PROVIDER_ICON_NAMES = [
"factory-droid",
"fast-agent",
"gemini",
+ "gjc",
"glm-acp-agent",
"goose",
"grok",
diff --git a/public-docs/supported-providers.md b/public-docs/supported-providers.md
index d7aa848e62..f8edad9953 100644
--- a/public-docs/supported-providers.md
+++ b/public-docs/supported-providers.md
@@ -39,6 +39,7 @@ Pick any of these from the in-app provider catalog. Each entry is a one-click in
- [Dirac](https://dirac.run), open-source agent with hash-anchored parallel edits.
- [Factory Droid](https://factory.ai/product/cli), Factory AI's coding agent.
- [fast-agent](https://fast-agent.ai/acp/), multi-provider coding agent.
+- [Gajae Code](https://gajae-code.com), subscription-based coding agent with plan-before-mutation workflows.
- [Gemini CLI](https://geminicli.com), Google's official Gemini CLI.
- [GitHub Copilot](https://github.com/features/copilot/cli/), GitHub's AI pair programmer via ACP.
- [GLM Agent](https://github.com/stefandevo/glm-acp-agent), Zhipu AI's GLM coding agent.