---
url: 'https://adk.nht.io/api/@nhtio/adk/shims/variables/adk.md'
description: >-
  The ambient, module-scope [`AdkShim`](https://adk.nht.io/api/@nhtio/adk/shims/interfaces/AdkShim) instance. Delegates to whatever
  resolver was last passed to [`registerAdkResolver`](https://adk.nht.io/api/@nhtio/adk/shims/functions/registerAdkResolver) — resolving before any
  registration raises [`E_SHIM_RESOLUTION_FAILED`](https://adk.nht.io/api/@nhtio/adk/shims/variables/E_SHIM_RESOLUTION_FAILED) with a cause explaining
  that no resolver has been registered yet.
---

# Variable: adk

```ts
const adk: AdkShim<AdkNamespace>;
```

Defined in: [src/shims/index.ts:465](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/shims/index.ts#L465)

The ambient, module-scope [AdkShim](../interfaces/AdkShim.md) instance. Delegates to whatever resolver was last
passed to [registerAdkResolver](../functions/registerAdkResolver.md) — resolving before any registration raises
[E\_SHIM\_RESOLUTION\_FAILED](E_SHIM_RESOLUTION_FAILED.md) with a cause explaining that no resolver has been registered yet.

## Remarks

Use this when many files across a module graph want to share one binding (import `adk` and read
`adk.proxy` / `await adk.resolve()` from anywhere) rather than threading a shim instance through
every call site. For an independent, separately-resolvable binding — e.g. loading two different
bundle versions side by side — construct your own via [createAdkShim](../functions/createAdkShim.md) instead.
