---
title: "entries:resolve Hook · Unhead"
canonical_url: "https://unhead.unjs.io/docs/react/head/api/hooks/entries-resolve"
last_updated: "2026-09-17T03:26:53.949Z"
meta:
  description: "Hook for selecting or inspecting head entries before they are normalized into tags."
  "og:description": "Hook for selecting or inspecting head entries before they are normalized into tags."
  "og:title": "entries:resolve Hook · Unhead"
---

Home

`
Unhead on GitHub

Switch to ReactSwitch to TypeScriptSwitch to VueSwitch to SvelteSwitch to Solid.jsSwitch to AngularSwitch to Nuxt

**Hooks**

# **entries:resolve Hook**

[Copy for LLMs](https://raw.githubusercontent.com/unjs/unhead/refs/heads/main/docs/head/7.api/hooks/03.entries-resolve.md)

The `**entries:resolve**` hook runs at the start of tag resolution, before Unhead normalizes individual entries. It receives a snapshot of the active entries and the resolution context.

## Hook Signature

```
export interface Hook {
  'entries:resolve': (ctx: EntryResolveCtx<any>) => SyncHookResult
}

interface EntryResolveCtx<T> {
  tags: HeadTag[]
  entries: HeadEntry<T>[]
}
```

### Parameters

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| `**ctx.entries**` | `**HeadEntry<any>[]**` | Snapshot of the entries about to be normalized |
| `**ctx.tags**` | `**HeadTag[]**` | Resolution array; it is empty when this hook begins |

This hook is synchronous. Mutating `**ctx.entries**` changes which entries are processed during the current resolution. Entries pushed onto the head itself while resolution is underway are deferred until the next render.

## Usage Example

```
import { defineHeadPlugin } from '@unhead/react/plugins'

export const inspectEntriesPlugin = defineHeadPlugin({
  key: 'inspect-entries',
  hooks: {
    'entries:resolve': ({ entries }) => {
      console.log(`Resolving ${entries.length} head entries`)
    }
  }
})
```

Use [`**entries:normalize**`](https://unhead.unjs.io/docs/head/api/hooks/entries-normalize) to change the normalized tags produced by each entry. Use one of the `**tags:***` hooks to inspect or modify the deduplicated tag set.

[Edit this page](https://github.com/unjs/unhead/edit/main/docs/head/7.api/hooks/03.entries-resolve.md)

[Markdown For LLMs](https://raw.githubusercontent.com/unjs/unhead/refs/heads/main/docs/head/7.api/hooks/03.entries-resolve.md)

**Did this page help you? **

[**entries:updated** Hook triggered when client-side head entries are added, patched, disposed, or invalidated.](https://unhead.unjs.io/docs/head/api/hooks/entries-updated) [**entries:normalize** Hook for changing the normalized tags produced by an individual head entry.](https://unhead.unjs.io/docs/head/api/hooks/entries-normalize)

**On this page **

- [Hook Signature](#hook-signature)
- [Usage Example](#usage-example)