diff --git a/.changeset/olive-ears-smoke.md b/.changeset/olive-ears-smoke.md
new file mode 100644
index 000000000..230347641
--- /dev/null
+++ b/.changeset/olive-ears-smoke.md
@@ -0,0 +1,5 @@
+---
+"@voltagent/core": patch
+---
+
+fix(workflow): improve typing for state parameter
diff --git a/packages/core/src/workflow/internal/state.ts b/packages/core/src/workflow/internal/state.ts
index 04750b05b..8d8485449 100644
--- a/packages/core/src/workflow/internal/state.ts
+++ b/packages/core/src/workflow/internal/state.ts
@@ -32,7 +32,7 @@ export type WorkflowState = {
/** the initial input data to the workflow */
input: InternalExtractWorkflowInputData;
/** current data being processed */
- data: DangerouslyAllowAny;
+ data: unknown;
/** shared workflow state across steps */
workflowState: WorkflowStateStore;
/** the result of workflow execution, null until execution is complete */
diff --git a/packages/core/src/workflow/types.ts b/packages/core/src/workflow/types.ts
index bf61c8c73..eb301545d 100644
--- a/packages/core/src/workflow/types.ts
+++ b/packages/core/src/workflow/types.ts
@@ -1120,7 +1120,7 @@ export interface UpdateWorkflowStepOptions {
* The state parameter passed to workflow steps
*/
export type WorkflowStepState = Omit<
- WorkflowState,
+ WorkflowState,
"data" | "result"
> & {
/** Workflow execution context for event tracking */