File: configuration.md | Updated: 11/15/2025
Search...
+ K
Auto
Docs Examples GitHub Contributors
Docs Examples GitHub Contributors
Docs Examples GitHub Contributors
Docs Examples Github Contributors
Docs Examples Github Contributors
Docs Examples Github Contributors
Docs Examples Github Contributors
Docs Examples Github Contributors
Maintainers Partners Support Learn StatsBETA Discord Merch Blog GitHub Ethos Brand Guide
Documentation
Framework
React
Version
Latest
Search...
+ K
Menu
Getting Started
Guides
API Reference
Examples
Framework
React
Version
Latest
Menu
Getting Started
Guides
API Reference
Examples
On this page
Copy Markdown
Both TanStack DevTools and EventClient can be configured.
Important
all configuration is optional unless marked (required)
Devtools Component Configuration
--------------------------------
The Devtools component has two configuration props, regardless of Frameworks these are the same.
The config object is mainly focused around user interaction with the devtools panel and accepts the following properties:
ts
{ defaultOpen: boolean }
{ defaultOpen: boolean }
ts
{ hideUntilHover: boolean }
{ hideUntilHover: boolean }
ts
{ position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'middle-left' | 'middle-right' }
{ position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'middle-left' | 'middle-right' }
ts
{ panelLocation: 'top' | 'bottom' }
{ panelLocation: 'top' | 'bottom' }
ts
type ModifierKey = 'Alt' | 'Control' | 'Meta' | 'Shift';
type KeyboardKey = ModifierKey | (string & {});
{ openHotkey: Array<KeyboardKey> }
type ModifierKey = 'Alt' | 'Control' | 'Meta' | 'Shift';
type KeyboardKey = ModifierKey | (string & {});
{ openHotkey: Array<KeyboardKey> }
ts
{ requireUrlFlag: boolean }
{ requireUrlFlag: boolean }
ts
{ triggerImage: string }
{ triggerImage: string }
ts
{ urlFlag: string }
{ urlFlag: string }
The eventBusConfig is configuration for the back bone of the devtools, the ``, and accepts the following properties:
ts
{ debug: boolean }
{ debug: boolean }
ts
{ connectToServerBus: boolean }
{ connectToServerBus: boolean }
ts
{ port: number }
{ port: number }
Put together here is an example in react:
tsx
import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import { FormDevtools } from '@tanstack/react-form'
import { TanStackDevtools } from '@tanstack/react-devtools'
import App from './App'
createRoot(document.getElementById('root')!).render(
<StrictMode>
<App />
<TanStackDevtools
config={{ hideUntilHover: true }}
eventBusConfig={{ debug: true }}
plugins={[\
{\
name: 'TanStack Form',\
render: <FormDevtools />,\
defaultOpen: true,\
},\
]}
/>
</StrictMode>,
)
import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import { FormDevtools } from '@tanstack/react-form'
import { TanStackDevtools } from '@tanstack/react-devtools'
import App from './App'
createRoot(document.getElementById('root')!).render(
<StrictMode>
<App />
<TanStackDevtools
config={{ hideUntilHover: true }}
eventBusConfig={{ debug: true }}
plugins={[\
{\
name: 'TanStack Form',\
render: <FormDevtools />,\
defaultOpen: true,\
},\
]}
/>
</StrictMode>,
)
EventClient Configuration
-------------------------
Configuration for the EventClient is as follows
ts
{pluginId: string}
{pluginId: string}
ts
{debug: boolean}
{debug: boolean}
Put together the EventClient configuration looks like:
tsx
import { EventClient } from '@tanstack/devtools-event-client'
type EventMap = {
'custom-devtools:custom-state': { state: string }
}
class customEventClient extends EventClient<EventMap> {
constructor() {
super({
debug: true,
pluginId: 'custom-devtools',
})
}
}
import { EventClient } from '@tanstack/devtools-event-client'
type EventMap = {
'custom-devtools:custom-state': { state: string }
}
class customEventClient extends EventClient<EventMap> {
constructor() {
super({
debug: true,
pluginId: 'custom-devtools',
})
}
}
More information about EventClient configuration can be found in our custom-plugins example