---
title: "Omit for Discriminated Unions in TypeScript"
url: https://daily.dev/posts/omit-for-discriminated-unions-in-typescript-ujl0mde1h
source_url: https://tkdodo.eu/blog/omit-for-discriminated-unions-in-type-script
type: article
source: "TkDodo"
author: "Dominik D"
published: 2025-11-24T15:52:50.887Z
updated: 2025-11-25T12:00:10.693Z
tags: ["react", "typescript"]
reading_time: 7
upvotes: 7
comments: 0
language: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Omit for Discriminated Unions in TypeScript

**[TkDodo](https://daily.dev/sources/tkdodo)** · [@tkdodo](https://daily.dev/tkdodo) · 7 min read · 7 upvotes · 0 comments

## Summary

TypeScript's built-in Omit utility type breaks discriminated unions by treating them as a whole rather than distributing over each union member. This causes type errors when building wrapper components that depend on discriminated union props. A distributive version using conditional types (T extends any ? Omit<T, K> : never) preserves the union structure by applying Omit to each member individually. This solution also provides stricter type checking by constraining keys to those that actually exist on the type.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://tkdodo.eu/blog/omit-for-discriminated-unions-in-type-script>

## Similar posts on daily.dev

- [Distributive Conditional Types in TypeScript](https://daily.dev/posts/distributive-conditional-types-in-typescript-6tu0eqy5m) · RUBYLAND · 0 upvotes · 0 comments

---

Tags: [#react](https://daily.dev/tags/react), [#typescript](https://daily.dev/tags/typescript)

[View this post on daily.dev](https://daily.dev/posts/omit-for-discriminated-unions-in-typescript-ujl0mde1h)
