diff --git a/CHANGELOG.md b/CHANGELOG.md
index 05122d5..60f8da9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+## v2.8.2 (2022-09-28)
+
+### Fixed
+* `ImmersClient.login` was failing to send clientId, causing full immers to be treated like destinations with limited permissions
+
## v2.8.1 (2022-09-21)
### Changed
diff --git a/source/ImmersHUD/ImmersHUD.js b/source/ImmersHUD/ImmersHUD.js
index 5048460..44d6734 100644
--- a/source/ImmersHUD/ImmersHUD.js
+++ b/source/ImmersHUD/ImmersHUD.js
@@ -29,7 +29,8 @@ import { roles } from '../authUtils'
* @prop {'true'|'false'} open - Toggles between icon and full HUD view (default: true is user's handle is saved but login is needed, false otherwise)
*
* @example
Load & register the custom element via import (option 1)
- * import 'immers-client/dist/ImmersHUD.bundle'
+ * import { ImmersHUD } from 'immers-client';
+ * ImmersHUD.Register();
* @example Load & register the custom element via CDN (option 2)
*
* @example Using the custom element in HTML
diff --git a/source/client.js b/source/client.js
index 4efb5dd..6814e1e 100644
--- a/source/client.js
+++ b/source/client.js
@@ -164,7 +164,8 @@ export class ImmersClient extends window.EventTarget {
async login (tokenCatcherURL, requestedRole, handle) {
let authResult
if (this.localImmer) {
- authResult = await ImmerOAuthPopup(this.localImmer, this.place.id, requestedRole, tokenCatcherURL, handle)
+ const client = await this.localImmerPlaceObject
+ authResult = await ImmerOAuthPopup(this.localImmer, client.id, requestedRole, tokenCatcherURL, handle)
} else {
authResult = await DestinationOAuthPopup(handle, requestedRole, tokenCatcherURL)
}