# Hiding Channels

Hiding a channel removes it from query channel requests for that user until a new message is added. Only channel members can hide a channel.

Hidden channels may still have unread messages. Consider [marking the channel as read](https://getstream.io/chat/docs/dotnet-csharp/unread/) before hiding it.

You can optionally clear the message history for that user when hiding. When a new message is received, it will be the only message visible to that user.

## Hide a Channel

```csharp label="C#"
using GetStream;
using GetStream.Models;

var client = new StreamClient("{{ api_key }}", "{{ api_secret }}");
var chat = new ChatClient(client);

var channelId = "channel-id";
var userId = "john";

// Hide the channel until a new message is added there
await chat.HideChannelAsync("messaging", channelId,
    new HideChannelRequest { UserID = userId });

// Show a previously hidden channel
await chat.ShowChannelAsync("messaging", channelId,
    new ShowChannelRequest { UserID = userId });
```

<Admonition type="info">

You can still retrieve the list of hidden channels using the `{ "hidden" : true }` query parameter.

</Admonition>


---

This page was last updated at 2026-08-11T12:49:39.229Z.

For the most recent version of this documentation, visit [https://getstream.io/chat/docs/dotnet-csharp/hiding-channels/](https://getstream.io/chat/docs/dotnet-csharp/hiding-channels/).