# ClientHookService

> **Class** in `deepagents_code`

📖 [View in docs](https://reference.langchain.com/python/deepagents-code/hooks/client_lifecycle/ClientHookService)

Execute client-owned events and apply their common side effects.

User-facing output goes through the runtime's presenter, which the owning
`HooksManager` also holds. The service never wraps or replaces it, so there
is exactly one presenter per session.

## Signature

```python
ClientHookService(
    self,
    runtime: _ClientHooksRuntime,
    _pending_context: dict[str, list[str]] = dict(),
)
```

## Constructors

```python
__init__(
    self,
    runtime: _ClientHooksRuntime,
    _pending_context: dict[str, list[str]] = dict(),
) -> None
```

| Name | Type |
|------|------|
| `runtime` | `_ClientHooksRuntime` |
| `_pending_context` | `dict[str, list[str]]` |


## Properties

- `runtime`

## Methods

- [`session_start()`](https://reference.langchain.com/python/deepagents-code/hooks/client_lifecycle/ClientHookService/session_start)
- [`session_end()`](https://reference.langchain.com/python/deepagents-code/hooks/client_lifecycle/ClientHookService/session_end)
- [`user_prompt_submit()`](https://reference.langchain.com/python/deepagents-code/hooks/client_lifecycle/ClientHookService/user_prompt_submit)
- [`pre_compact()`](https://reference.langchain.com/python/deepagents-code/hooks/client_lifecycle/ClientHookService/pre_compact)
- [`permission_request()`](https://reference.langchain.com/python/deepagents-code/hooks/client_lifecycle/ClientHookService/permission_request)
- [`resolve_permission()`](https://reference.langchain.com/python/deepagents-code/hooks/client_lifecycle/ClientHookService/resolve_permission)
- [`notification()`](https://reference.langchain.com/python/deepagents-code/hooks/client_lifecycle/ClientHookService/notification)
- [`take_session_context()`](https://reference.langchain.com/python/deepagents-code/hooks/client_lifecycle/ClientHookService/take_session_context)
- [`has_handlers()`](https://reference.langchain.com/python/deepagents-code/hooks/client_lifecycle/ClientHookService/has_handlers)
- [`present_permission()`](https://reference.langchain.com/python/deepagents-code/hooks/client_lifecycle/ClientHookService/present_permission)

---

[View source on GitHub](https://github.com/langchain-ai/deepagents/blob/caaa7e7c12d214afa5cf0a1afed8eb6232aa6f7b/libs/code/deepagents_code/hooks/client_lifecycle.py#L108)