---
url: 'https://adk.nht.io/api/@nhtio/adk/common/interfaces/MergeOptions.md'
description: 'Options accepted by [`ToolRegistry.merge`](https://adk.nht.io/api/@nhtio/adk/forge/classes/ToolRegistry#merge).'
---

# Interface: MergeOptions

Defined in: [lib/classes/tool\_registry.ts:9](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/classes/tool_registry.ts#L9)

Options accepted by [ToolRegistry.merge](../../forge/classes/ToolRegistry.md#merge).

## Properties

| Property                                         | Type                                 | Default value | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | Defined in                                                                                                              |
| ------------------------------------------------ | ------------------------------------ | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
|  `onCollision?` | `"keep"` | `"replace"` | `"throw"` | `'throw'`     | What to do when two registries contain a tool with the same name AND neither tool's own `onCollision` resolves the collision. **Remarks** - `'throw'` (default): raise [@nhtio/adk!E\_TOOL\_ALREADY\_REGISTERED](../../exceptions/variables/E_TOOL_ALREADY_REGISTERED.md) on the first unresolved collision. Mirrors the default behaviour of [ToolRegistry.register](../../forge/classes/ToolRegistry.md#register) and surfaces accidental name shadowing immediately. - `'replace'`: the later registry's tool wins. - `'keep'`: the earlier registry's tool wins; later occurrences are dropped. Per-tool [@nhtio/adk!Tool.onCollision](../../forge/classes/Tool.md#property-oncollision) takes precedence: if the incoming tool declares `'replace'` or `'keep'`, that policy wins regardless of this option. Only when the incoming tool's policy is `'throw'` (the default) does this fallback apply. | [lib/classes/tool\_registry.ts:27](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/classes/tool_registry.ts#L27) |
