Calling app.client.chat.postMessage in a Bolt app with the channel ID of a direct message or private group returns channel_not_found, while posting to public channels the bot was invited to works fine. The bot user OAuth token is used. The same call pattern succeeds for public channels, so the token itself is valid.