GitHub shipped `copilot-sdk-java` version 1.0.7-preview.1 on August 10, letting enterprise Java teams embed AI agent sessions directly into their server-side code without a dependency on VS Code, Spring, or Langchain4j. The SDK lands as a Maven artifact at `com.github:copilot-sdk-java:1.0.7-preview.1`, requires JDK 17 minimum (JDK 25 recommended for virtual threads), Maven 3.9+, and Copilot CLI 1.0.71 or later.

ComponentMinimum VersionNotes
JDK17JDK 25 recommended for virtual threads
Maven3.9+Required build tool
Copilot CLI1.0.71Must be installed and authenticated on every machine and CI runner
Maven artifactcom.github:copilot-sdk-java:1.0.7-preview.1Released 10 Aug 2025
FIG. 02 GitHub Copilot SDK for Java — minimum and recommended prerequisites — github.blog/engineering/using-the-github-copilot-sdk-for-java/

The headline API is `@CopilotTool`, a method-level annotation that marks a Java method as callable by the model. Add `@CopilotToolParam` descriptors to each argument and the SDK's annotation processor generates JSON Schema and dispatch code at compile time, outputting `$$CopilotToolMeta` classes that wire the tool contract together. Two Maven compiler-plugin entries are required: pass `-Acopilot.experimental.allowed=true` as a compiler arg and register the SDK as an `annotationProcessorPath`. Miss either and the processor silently skips tool generation.

Compile-time annotation processing pipeline: @CopilotTool to $$CopilotToolMeta dispatch code
FIG. 03 Compile-time annotation processing pipeline: @CopilotTool to $$CopilotToolMeta dispatch code — github.blog/engineering/using-the-github-copilot-sdk-for-java/

The runtime model uses `CompletableFuture`, lambdas, and virtual threads. Each agent session runs on its own virtual thread with an isolated Copilot session and no shared state. The reference demo is a real-estate lead-management pipeline on Open Liberty 26.0.0.5 and Jakarta EE 11 (Faces 4.1, CDI 4.1, WebSocket 2.2, Data 1.0, Persistence 3.2) with PrimeFaces 15.0.16 and an H2 in-memory database of 10 property listings. It pushes real-time updates to the browser via Jakarta WebSocket. Each enquiry runs its own virtual-thread agent independently.

For teams locked into a model provider contract, the BYOK path is the practical unlock: pass a `provider/ProviderConfig` with your own `baseUrl` and `apiKey` and the SDK routes directly to OpenAI, Azure, Anthropic, or any OpenAI-compatible endpoint. No Copilot subscription required. Enterprises standardized on Azure OpenAI or an on-prem Llama deployment can adopt the SDK without forcing a Copilot licence conversation.

ProviderRequired Config FieldsCopilot Subscription Needed?
OpenAIbaseUrl, apiKeyNo
Azure OpenAIbaseUrl, apiKeyNo
AnthropicbaseUrl, apiKeyNo
Any OpenAI-compatible endpoint (e.g. on-prem Llama)baseUrl, apiKeyNo
FIG. 04 BYOK (Bring Your Own Key) supported provider targets via provider/ProviderConfig — github.blog/engineering/using-the-github-copilot-sdk-for-java/

GitHub positions the SDK against Langchain4j and Spring AI, both of which abstract vendor lock-in but still impose framework-level dependencies. The Copilot SDK has no mandatory runtime framework coupling — it works across Jakarta EE, Spring, and any JVM server environment. Platform teams running mixed-framework codebases get a single SDK that needs no adapter layers.

SDK / LibraryVendor Lock-in MitigationFramework-level DependencyWorks on Mixed-framework JVM Codebases
Copilot SDK for JavaBYOK provider config (baseUrl + apiKey)None — no mandatory runtime framework couplingYes — Jakarta EE, Spring, any JVM server
Langchain4jAbstraction layerYes — framework-level dependencies imposedLimited
Spring AIAbstraction layerYes — framework-level dependencies imposedSpring only
FIG. 05 Framework coupling comparison: Copilot SDK for Java vs Langchain4j vs Spring AI — github.blog/engineering/using-the-github-copilot-sdk-for-java/

The annotation API is explicitly flagged experimental. JSON Schema generation and the `$$CopilotToolMeta` output format should be treated as unstable across preview versions. The CLI dependency is non-trivial in air-gapped or policy-restricted environments: every machine and CI runner needs Copilot CLI 1.0.71 installed and authenticated. The sample repo URL (`github.com/microsoft/Build26-BRK206-...`) signals a Microsoft Build 2026 conference demo origin — production hardening is likely still in progress.

The SDK is a runnable artifact today — `mvn clean package liberty:run` reaches the reference app in a single command. The BYOK + framework-agnostic combination is the architectural argument worth taking to a VP. Keep the experimental annotation API off your critical path until 1.0 ships stable.